132C++异常处理机制 ◆C++异常处理的语法可以表述如下: 受保护语句 检测和抛掷 throw异常; 异常 其他语句; try模块 catch(异常类型) 异常处理语句; 「扑获和处理 异常 2021/2/24 北京邮电大学电信工程学院计算机技术中 16
2021/2/24 北京邮电大学电信工程学院计算机技术中心 -16- 13.2 C++异常处理机制 C++异常处理的语法可以表述如下: try { 受保护语句; throw 异常; 其他语句; } catch(异常类型) {异常处理语句; } 检测和抛掷 异常 扑获和处理 异常 try模块
132C++异常处理机制 ◆在C++术语中,异常( Exception,注意结尾 没有s)是作为专用名词出现的。就是将异常 检测程序所抛掷的“带有异常信息的对象”称 为“异常 ◆而将捕获异常的处理程序称为异常处理程序 ( Exception Handler)。 2021/2/24 北京邮电大学电信工程学院计算机技术中 17
2021/2/24 北京邮电大学电信工程学院计算机技术中心 -17- 13.2 C++异常处理机制 在C++术语中,异常(Exception,注意结尾 没有s)是作为专用名词出现的。就是将异常 检测程序所抛掷的“带有异常信息的对象”称 为“异常” 。 而将捕获异常的处理程序称为异常处理程序 (Exception Handler)
132C++异常处理机制 ◆在ty复合语句中,可以调用其他函数,在所 调用的函数中检测和抛掷异常,而不是在try 复合语句中直接抛掷异常。这个所调用的函数 仍然是属于这个try模块的,所以这个模块中 的 catch部分,仍然可以捕获它所抛掷的异常 并进行处理。 2021/2/24 北京邮电大学电信工程学院计算机技术中
2021/2/24 北京邮电大学电信工程学院计算机技术中心 -18- 13.2 C++异常处理机制 在try复合语句中,可以调用其他函数,在所 调用的函数中检测和抛掷异常,而不是在try 复合语句中直接抛掷异常。这个所调用的函数, 仍然是属于这个try模块的,所以这个模块中 的catch部分,仍然可以捕获它所抛掷的异常 并进行处理
例13.2用C++的异常处理机制,重新处理例13.1。 ∥例132用C++的异常处理机制,处理除法溢出 include <iostream. h> include <stdlib.h> double divide(double a, double b) if(b==0) throw"输入错误:除数不可以等于0!"; return a/b 2021/2/24 北京邮电大学电信工程学院计算机技术中
2021/2/24 北京邮电大学电信工程学院计算机技术中心 -19- 例13.2 用C++的异常处理机制,重新处理例13.1。 //例13.2用C++的异常处理机制,处理除法溢出 #include <iostream.h> #include <stdlib.h> double divide(double a, double b) { if (b == 0) { throw "输入错误:除数不可以等于0 !"; } return a/b; }