1 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(C++11 前)
- bad_variant_access(C++17)
2 注意
- std::exception的构造函数没有参数,而一些派生类的构造函数有参数。
- 可以使用派生类,或者自定义std::exception的子类,重写what()方法。