# std::exception

From cppreference.com
< cpp‎ | error

Defined in header `<exception>` |  |
class exception; |  |

Provides consistent interface to handle errors through the throw expression.

All exceptions generated by the standard library inherit from std::exception

- `logic_error`

  - `invalid_argument`
  - `domain_error`
  - `length_error`
  - `out_of_range`
  - `future_error` (C++11)

- `bad_optional_access` (C++17)
- `runtime_error`

  - `range_error`
  - `overflow_error`
  - `underflow_error`
  - `regex_error` (C++11)
  - `nonexistent_local_time` (C++20)
  - `ambiguous_local_time` (C++20)
  - `tx_exception` (TM TS)
  - `system_error` (C++11)
    - `ios_base::failure` (C++11)
    - `filesystem::filesystem_error` (C++17)

- `bad_typeid`
- `bad_cast`

  - `bad_any_cast` (C++17)

- `bad_weak_ptr` (C++11)
- `bad_function_call` (C++11)
- `bad_alloc`

  - `bad_array_new_length` (C++11)

- `bad_exception`
- `ios_base::failure` (until C++11)
- `bad_variant_access` (C++17)

### Member functions

(constructor) | constructs the exception object (public member function)
(destructor) [virtual] | destroys the exception object (virtual public member function)
operator= | copies exception object (public member function)
what [virtual] | returns an explanatory string (virtual public member function)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/error/exception&oldid=108414"