错误处理

来自cppreference.com
< cpp
 
 
工具库
类型支持(基本类型、RTTI、类型特性)
动态内存管理
错误处理
程序工具
变参数函数
日期与时间
函数对象
(C++11)
关系运算符
optionalanyvariant (C++17)
pair与tuple
(C++11)
(C++17)
swap、forward与move
(C++14)
(C++11)
(C++11)
初等字符串转换
(C++17)
(C++17)
类型运算
(C++11)
(C++17)
 
 

目录

[编辑] 异常处理

头文件 <exception> 提供数个关联于 C++ 程序中异常处理的类与函数。

定义于头文件 <exception>
标准库组件抛出的异常的基类
(类) [编辑]
异常对象的捕获与存储
检查当前异常处理是否在进行
(函数) [编辑]
处理异常对象的共享指针类型
(typedef) [编辑]
从异常对象创建一个std::exception_ptr
(函数模板) [编辑]
std::exception_ptr 中捕获当前异常
(函数) [编辑]
从一个 std::exception_ptr 抛出异常
(函数) [编辑]
捕获并存储当前异常的混入类型
(类) [编辑]
抛出其参数,带上混入的 std::nested_exception
(函数模板) [编辑]
抛出来自 std::nested_exception 的异常
(函数模板) [编辑]
异常处理中的失败处理
定义于头文件 <exception>
异常处理失败时调用的函数
(函数) [编辑]
std::terminate 所调用的函数类型
(typedef) [编辑]
获得当前的 terminate_handler
(函数) [编辑]
更改将被 std::terminate 调用的函数
(函数) [编辑]
std::current_exception 无法复制异常对象时抛出的异常
(类) [编辑]
异常规定违规处理( C++17 中移除)
(C++17 前)
违背动态异常规定时调用的函数
(函数) [编辑]
std::unexpected 所调用的函数类型
(typedef) [编辑]
(C++11)(C++17 前)
获得当前的 unexpected_handler
(函数) [编辑]
(C++17 前)
更改要被 std::unexpected 调用的函数
(函数) [编辑]

[编辑] 异常类别

数个便利异常类预定义于头文件 <stdexcept> 以报告特定的错误条件。这些类可分为二个类别:逻辑错误与运行时错误。逻辑错误是程序中错误逻辑的后果,而且可以避免。运行时错误来源于程序作用域以外的事件,且无法简单预测。

定义于头文件 <stdexcept>
指示逻辑前置条件或类不变量违规的异常类
(类)
报告非法参数的异常类
(类)
报告定义域错误的异常类
(类)
报告视图超出最大允许大小的异常类
(类)
报告参数落在期待范围外的异常类
(类)
指示条件只可于运行时检测的异常类
(类)
报告内部计算中值域错误的异常类
(类)
报告算术下溢的异常类
(类)
报告算术上溢的异常类
(类)
取消原子事务的异常类
(类模板)

[编辑] 错误号

定义于头文件 <cerrno>
展开成 POSIX 兼容的线程局域错误号变量
(宏变量) [编辑]
兼容标准 POSIX 的错误条件的宏
(宏常量) [编辑]

[编辑] 断言

帮助实现程序中前置条件检查的断言。

静态断言 进行编译时断言检查 (C++11 起) [编辑]
定义于头文件 <cassert>
若用户指定的条件非 true 则中断程序。可以在发行版本中禁用
(宏函数) [编辑]

[编辑] 系统错误

头文件 <system_error> 定义用于报告源于操作系统、流 I/O 、 std::future 或其他低层 API 的错误条件的类型和函数。

定义于头文件 <system_error>
错误类别的基类
(类) [编辑]
鉴别通用错误类别
(函数) [编辑]
鉴别操作系统错误类别
(函数) [编辑]
保有可移植的错误码
(类) [编辑]
(C++11)
列出所有标准 <cerrno> 宏常量的 std::error_condition 枚举
(类) [编辑]
保有依赖平台的错误码
(类) [编辑]
用于报告拥有 error_code 的错误条件的异常类
(类) [编辑]

[编辑] 参阅

错误处理C 文档