C++程序 处理未检查的异常
异常是程序在执行过程中可能遇到的运行时错误或异常情况。
例子:
- 除以零
- 访问超出其边界的数组
- 内存耗尽
- 磁盘空间不足
异常的类型:
- 同步异常 :程序由于输入数据的某些故障而在运行中发生的异常。例如,溢出错误和除以零错误。
- 异步异常 :由程序无法控制的与程序无关的事件或故障引起的异常。例如,键盘故障和硬盘故障。
C++中的异常处理仅设计用于处理程序中的同步异常。异常处理的目标是创建一个检查并发送异常条件以执行适当代码的例程。该过程需要执行以下职责:
- 检测问题(发生异常)
- 告知错误检测(抛出异常)
- 接收错误信息(捕获异常)
- 采取纠正措施(处理异常)
关键字 try,throw和catch。 关键字 try 用于在可能产生异常的代码块之前。
try语句的语法:
当发现异常时,将使用 throw 语句在try块中抛出异常。
throw语句的语法
一个 catch 块由关键字‘ _catch _ ’定义异常,并相应地处理它。捕获异常的catch块必须紧随其后。
catch语句的语法:
当发现异常时,catch块的执行开始。catch语句可能或可能不包含异常类型的参数,这是可选的。当在catch中声明参数时,该参数可在catch块中使用。在执行catch块后,执行块内的行。如果未发现异常,则忽略catch块,并且如果发现不匹配,则程序将结束。
C++程序演示除零异常
输出:
C++ 程序演示数组下标超出范围异常
输出结果:
C++程序抛出多个异常并定义多个捕捉语句
输出结果: