exception
标准库标头<exception>
此标头是错误处理图书馆。
班
*。
标准库组件引发的异常的异常基类%28class%29
巢式[医]异常%28C++11%29 a混合类型以捕获和存储当前异常%28class%29
坏[医]当STD::Current引发异常时引发的异常[医]异常无法复制异常对象%28类%29
台培
在违反动态异常规范时调用C++17%29函数之前,未预料到的%28函数%29
意料之外[医]处理程序%28,直到C++17%29,由std调用的函数的类型::意外的%28
终止[医]处理由std::Terminate%28tyduif%29调用的函数的类型
例外[医]用于处理异常对象的PTR%28C++11%29共享指针类型
功能
隐秘[医]例外[医]异常%28C++17%29检查是否正在进行异常处理
制造[医]例外[医]PTR%28C++11%29创建一个std::Exception[医]来自异常对象%28函数模板%29的PTR
电流[医]异常%28C++11%29捕获std::Exception中的当前异常[医]PTR%28功能%29
重投[医]异常%28C++11%29从std::Exception抛出异常[医]PTR%28功能%29
抛出[医]带着[医]嵌套%28C++11%29使用std::nested29抛出它的参数[医]%28函数模板中混合的异常%29
重投[医]如果[医]嵌套%28C++11%29抛出从std::nestedn异常[医]异常%28函数模板%29
异常处理失败时调用的终止函数%28函数%29
弄到[医]终止%28C++11%29获得当前终止[医]处理程序%28功能%29
集[医]终止更改由std::终止%28函数%29调用的函数
弄到[医]意外%28C++11%29%28直到C++17%29获得当前意外[医]处理程序%28功能%29
集[医]意外%28,直到C++17%29更改由std调用的函数::意外%28函数%29
简介
二次
namespace std {
class exception;
class bad_exception;
class nested_exception;
typedef void (*unexpected_handler)(
unexpected_handler get_unexpected() noexcept;
unexpected_handler set_unexpected(unexpected_handler f) noexcept;
[[noreturn]] void unexpected(
typedef void (*terminate_handler)(
terminate_handler get_terminate() noexcept;
terminate_handler set_terminate(terminate_handler f) noexcept;
[[noreturn]] void terminate() noexcept;
bool uncaught_exception() noexcept;
typedef /*unspecified*/ exception_ptr;
exception_ptr current_exception() noexcept;
[[noreturn]] void rethrow_exception(exception_ptr p
template<class E> exception_ptr make_exception_ptr(E e) noexcept;
[[noreturn]] template <class T> void throw_with_nested(T&& t
template <class E> void rethrow_if_nested(const E& e
}
二次
类std::exception
二次
class exception {
public:
exception() noexcept;
exception(const exception&) noexcept;
exception& operator=(const exception&) noexcept;
virtual ~exception(
virtual const char* what() const noexcept;
};
二次
类std::bad_exception
二次
class bad_exception : public exception {
public:
bad_exception() noexcept;
bad_exception(const bad_exception&) noexcept;
bad_exception& operator=(const bad_exception&) noexcept;
virtual const char* what() const noexcept;
};
二次
类std::nested_exception
二次
class nested_exception {
public:
nested_exception() noexcept;
nested_exception(const nested_exception&) noexcept = default;
nested_exception& operator=(const nested_exception&) noexcept = default;
virtual ~nested_exception() = default;
// access functions
[[noreturn]] void rethrow_nested() const;
exception_ptr nested_ptr() const noexcept;
};
二次
另见
- 错误处理
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。