广西柳州模板价格表,seo优化方案案例,鞍山58同城二手房出售,临清设计网站C 引入了异常处理机制。其基本思想是#xff1a;函数 A 在执行过程中发现异常时可以不加处理#xff0c;而只是“拋出一个异常”给 A 的调用者#xff0c;假定为函数 B。 拋出异常而不加处理会导致函数 A 立即中止#xff0c;在这种情况下#xff0c;函数 B 可以选择捕获 …C 引入了异常处理机制。其基本思想是函数 A 在执行过程中发现异常时可以不加处理而只是“拋出一个异常”给 A 的调用者假定为函数 B。 拋出异常而不加处理会导致函数 A 立即中止在这种情况下函数 B 可以选择捕获 A 拋出的异常进行处理也可以选择置之不理。如果置之不理这个异常就会被拋给 B 的调用者以此类推。 如果一层层的函数都不处理异常异常最终会被拋给最外层的 main 函数。main 函数应该处理异常。如果main函数也不处理异常那么程序就会立即异常地中止。 try...catch 语句的执行过程是 执行 try 块中的语句如果执行的过程中没有异常拋出那么执行完后就执行最后一个 catch 块后面的语句所有 catch 块中的语句都不会被执行如果 try 块执行的过程中拋出了异常那么拋出异常后立即跳转到第一个“异常类型”和拋出的异常类型匹配的 catch 块中执行称作异常被该 catch 块“捕获”执行完后再跳转到最后一个 catch 块后面继续执行。#include iostream
using namespace std;
int main()
{double m ,n;cin m n;try {cout before dividing. endl;if( n 0)throw -1; //抛出int类型异常elsecout m / n endl;cout after dividing. endl;}catch(double d) {cout catch(double) d endl;}catch(int e) {cout catch(int) e endl;}cout finished endl;return 0;
} 转载于:https://www.cnblogs.com/elong1995/p/10957244.html