# std::exception::exception

< cpp‎ | error‎ | exception

| (1) |
exception() throw(); |  | (C++11 前)
exception() noexcept; |  | (C++11 起)
| (2) |
exception( const exception& other ) throw(); |  | (C++11 前)
exception( const exception& other ) noexcept; |  | (C++11 起)

构造新的异常对象。

1) 默认构造函数。 `what()` 返回实现定义的字符串。
2) 复制构造函数。以 `other` 的内容初始化其内容。若 `*this` 与 `other` 均拥有动态类型 `std::exception` ，则 std::strcmp(what(), other.what()) == 0 。 (C++11 起)

### 参数

other | - | 要赋值内容的另一 exception

### 注意

因为不允许复制 `std::exception` 抛出异常，故当派生类（例如 std::runtime_error ）必须管理用户定义的诊断信息时，常将它实现为写时复制的字符串。