Namespaces
Variants

Standard library header <stdexcept>

From cppreference.net
Standard library headers

This header is part of the error handling library.

Contents

Classes

exception class to indicate violations of logical preconditions or class invariants
(class)
exception class to report invalid arguments
(class)
exception class to report domain errors
(class)
exception class to report attempts to exceed maximum allowed size
(class)
exception class to report arguments outside of expected range
(class)
exception class to indicate conditions only detectable at run time
(class)
exception class to report range errors in internal computations
(class)
exception class to report arithmetic overflows
(class)
exception class to report arithmetic underflows
(class)

Synopsis

namespace std {
  class logic_error;
  class domain_error;
  class invalid_argument;
  class length_error;
  class out_of_range;
  class runtime_error;
  class range_error;
  class overflow_error;
  class underflow_error;
}

Class std::logic_error

namespace std {
  class logic_error : public exception
  {
  public:
    constexpr explicit logic_error(const string& what_arg);
    constexpr explicit logic_error(const char* what_arg);
  };
}

Class std::domain_error

namespace std {
  class domain_error : public logic_error
  {
  public:
    constexpr explicit domain_error(const string& what_arg);
    constexpr explicit domain_error(const char* what_arg);
  };
}

Class std::invalid_argument

namespace std {
  class invalid_argument : public logic_error
  {
  public:
    constexpr explicit invalid_argument(const string& what_arg);
    constexpr explicit invalid_argument(const char* what_arg);
  };
}

Class std::length_error

namespace std {
  class length_error : public logic_error
  {
  public:
    constexpr explicit length_error(const string& what_arg);
    constexpr explicit length_error(const char* what_arg);
  };
}

Class std::out_of_range

namespace std {
  class out_of_range : public logic_error
  {
  public:
    constexpr explicit out_of_range(const string& what_arg);
    constexpr explicit out_of_range(const char* what_arg);
  };
}

Class std::runtime_error

namespace std {
  class runtime_error : public exception
  {
  public:
    constexpr explicit runtime_error(const string& what_arg);
    constexpr explicit runtime_error(const char* what_arg);
  };
}

Class std::range_error

namespace std {
  class range_error : public runtime_error
  {
  public:
    constexpr explicit range_error(const string& what_arg);
    constexpr explicit range_error(const char* what_arg);
  };
}

Class std::overflow_error

namespace std {
  class overflow_error : public runtime_error
  {
  public:
    constexpr explicit overflow_error(const string& what_arg);
    constexpr explicit overflow_error(const char* what_arg);
  };
}

Class std::underflow_error

namespace std {
  class underflow_error : public runtime_error
  {
  public:
    constexpr explicit underflow_error(const string& what_arg);
    constexpr explicit underflow_error(const char* what_arg);
  };
}

See also

base class for exceptions thrown by the standard library components
(class)