错误处理
来自cppreference.com
                    
                                        
                    < cpp
                    
                                                            
                    异常处理
头文件 <exception> 提供数个关联于 C++ 程序中异常处理的类与函数。
|   定义于头文件  
<exception>  | |
|    标准库组件抛出的各种异常的基类  (类)  | |
 异常对象的捕获与存储 | |
|    (C++20 中移除)(C++17)  | 
   检查当前是否正在进行异常处理  (函数)  | 
|    (C++11)  | 
   用于处理异常对象的共享指针类型  (typedef)  | 
|    (C++11)  | 
   从异常对象创建一个std::exception_ptr  (函数模板)  | 
|    (C++11)  | 
   捕获当前异常到 std::exception_ptr 之中  (函数)  | 
|    (C++11)  | 
   从一个 std::exception_ptr 抛出异常  (函数)  | 
|    (C++11)  | 
   用于捕获并存储当前异常的混入类型  (类)  | 
|    (C++11)  | 
   抛出实参,带上混入的 std::nested_exception   (函数模板)  | 
|    (C++11)  | 
   抛出 std::nested_exception 中的异常  (函数模板)  | 
 异常处理中的失败处理 | |
|   定义于头文件  
<exception>  | |
|    异常处理失败时调用的函数  (函数)  | |
|    std::terminate 所调用的函数类型  (typedef)  | |
|    (C++11)  | 
   获得当前的 terminate_handler   (函数)  | 
|    更改将被 std::terminate 调用的函数  (函数)  | |
|    当 std::current_exception 无法复制异常对象时抛出的异常  (类)  | |
 异常规定违规处理( C++17 中移除) | |
|    (C++17 中移除)  | 
   违背动态异常说明时调用的函数  (函数)  | 
|    (C++17 中移除)  | 
   std::unexpected 所调用的函数类型  (typedef)  | 
|    (C++11)(C++17 中移除)  | 
   获得当前的 unexpected_handler  (函数)  | 
|    (C++17 中移除)  | 
   更改要被 std::unexpected 调用的函数  (函数)  | 
异常类别
数个便利异常类预定义于头文件 <stdexcept> 以报告特定的错误条件。这些类可分为二个类别:逻辑错误与运行时错误。逻辑错误是程序中错误逻辑的后果,而且可以避免。运行时错误来源于程序作用域以外的事件,且无法简单预测。
|   定义于头文件  
<stdexcept>  | |
|   指示违背逻辑前提条件或类不变量的异常类  (类)  | |
|   报告非法参数的异常类  (类)  | |
|   报告定义域错误的异常类  (类)  | |
|   报告试图超出最大允许大小的异常类  (类)  | |
|   报告参数落在期待范围外的异常类  (类)  | |
|   指示条件只可于运行时检测的异常类  (类)  | |
|   报告内部计算中值域错误的异常类  (类)  | |
|   报告算术上溢的异常类  (类)  | |
|   报告算术下溢的异常类  (类)  | |
|    (TM TS)  | 
  取消原子事务的异常类  (类模板)  | 
错误号
|   定义于头文件  
<cerrno>  | |
|   展开成 POSIX 兼容的线程局域错误号变量的宏 (宏变量)  | |
|    兼容标准 POSIX 的错误条件的宏  (宏常量)  | |
断言
帮助实现程序中前置条件检查的断言。
|   定义于头文件  
<cassert>  | |
|    若用户指定的条件非 true 则中断程序。可以在发行构建中禁用  (宏函数)  | |
系统错误
头文件 <system_error> 定义用于报告源于操作系统、流 I/O 、 std::future 或其他低层 API 的错误条件的类型和函数。
|   定义于头文件  
<system_error>  | |
|    (C++11)  | 
   错误类别的基类  (类)  | 
|    (C++11)  | 
   鉴别通用错误类别   (函数)  | 
|    (C++11)  | 
   鉴别操作系统错误类别   (函数)  | 
|    (C++11)  | 
   保有可移植的错误码  (类)  | 
|    (C++11)  | 
   列出所有标准 <cerrno> 宏常量的 std::error_condition 枚举  (类)  | 
|    (C++11)  | 
   保有依赖于平台的错误码   (类)  | 
|    (C++11)  | 
   用于报告拥有 error_code 的错误条件的异常类  (类)  | 
参阅
  static_assert 声明(C++11)
 | 
进行编译时断言检查 |