void maino Double x,y, Z, cout<"输入两个实数x和y:"; while(cin >>x>> y) I z= divide(x, y); cout<<"x除以y等于"<<z<<"n cout<<"输入下一组数<q表示结束>:"; cout<≤"Byen"; 2021/2/24 北京邮电大学电信工程学院计算机技术中
2021/2/24 北京邮电大学电信工程学院计算机技术中心 -11- void main() {double x,y,z; cout<<"输入两个实数 x 和 y : "; while (cin >> x >> y) { z = divide(x,y); cout << "x 除以 y 等于 " << z << "\n"; cout << "输入下一组数 <q 表示结束>: "; } cout << "Bye!\n"; }
如果出现分母为0的情况,运行将出现以下结果 a“E教学+B00习题10 aaa\ Debug\aaa. exe 输入两 1.23.4 于8.352941 <q表示结束》:2.3 涂数不可以等于6! Microsoft Visual C++Debug Library Debug Error Program:E:教学C++10Ok习题10 aaa Debug\aaa.exe abnormal program termination Press Retry to debug the application) 终正A重试R 忽略( 2021/2/24 北京邮电大学电信工程学院计算机技术中 12
2021/2/24 北京邮电大学电信工程学院计算机技术中心 -12- 如果出现分母为0 的情况,运行将出现以下结果:
1312异常处理方法及举例 ◆这个程序中,对于除数为0的处理有这样 的特点: ■异常的检测和处理都是在一个程序模块 ( divide函数)中进行的; 由于函数的返回值是 double型的数据,因 此,即使检测到除数为0的情况,也不能通 过返回值来反映这个异常。只能调用函数 abort终止程序的运行。 2021/2/24 北京邮电大学电信工程学院计算机技术中
2021/2/24 北京邮电大学电信工程学院计算机技术中心 -13- 13.1.2 异常处理方法及举例 这个程序中,对于除数为0的处理有这样 的特点: ◼ 异常的检测和处理都是在一个程序模块 (divide函数)中进行的; ◼ 由于函数的返回值是double型的数据,因 此,即使检测到除数为0的情况,也不能通 过返回值来反映这个异常。只能调用函数 abort终止程序的运行
13.2C+异常处理机制
13.2 C++异常处理机制
132C++异常处理机制 ◆C++处理异常有两个基本的做法: 异常的检测和处理是在不同的代码段中进行的。 般的说法是在“try”部分检测异常," catch”部分 处理异常。 由于异常的检测和处理不是在同一个代码段中进行 的,在检测异常和处理异常的代码段之间需要有 种传递异常信息的机制,在C++中是通过“对象 来传递异常的。这种对象可以是一种简单的数据 (如整数),也可以是系统定义或用户自定义的类 的对象。 2021/2/24 北京邮电大学电信工程学院计算机技术中 -15
2021/2/24 北京邮电大学电信工程学院计算机技术中心 -15- 13.2 C++异常处理机制 C++处理异常有两个基本的做法: ◼ 异常的检测和处理是在不同的代码段中进行的。一 般的说法是在“try”部分检测异常,“catch”部分 处理异常。 ◼ 由于异常的检测和处理不是在同一个代码段中进行 的,在检测异常和处理异常的代码段之间需要有一 种传递异常信息的机制,在C++中是通过“对象” 来传递异常的。这种对象可以是一种简单的数据 (如整数),也可以是系统定义或用户自定义的类 的对象