##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# 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)
  - `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)

### [edit] Member functions

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

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