广州市官网网站建设多少钱,wordpress 导航 图片,秦皇岛黄金海岸免费吗,wordpress 两个用户名1. 概念
程序中的错误分为编译时错误和运行时错误。编译时出现的错误包括关键字拼写出错、语句分号缺少、括号不匹配等#xff0c;编译时的错误容易解决。运行时出现的错误包括无法打开文件、数组越界和无法实现指定的操作。运行时出现的错误称为异常#xff0c;对异常的处理…1. 概念
程序中的错误分为编译时错误和运行时错误。编译时出现的错误包括关键字拼写出错、语句分号缺少、括号不匹配等编译时的错误容易解决。运行时出现的错误包括无法打开文件、数组越界和无法实现指定的操作。运行时出现的错误称为异常对异常的处理称为异常处理传统的异常处理方法基本上是判断或分支来实现。而采用判断和分支语句处理异常的方法不适合大量异常的处理也不能处理不可预知的异常。
2. C 处理异常的方法
C处理异常的方法是若在执行一个函数的过程中出现异常可以不在本函数立即处理而是发出一个信号交给他的上一级函数调用者来解决若上一级也不能解决则继续交给上一级直至交给系统。系统会自动调用系统函数terminate调用abort来终止程序。
3. 代码示例
#includeiostream
using namespace std;float Div(int x, int y) {if (y 0) {throw y; // 抛出float异常}return x / y;
}int main()
{int a 10, b 0;try {cout Div(a, b) endl; // 代码保护段}catch(int){cout 捕获到int型异常 endl;}catch (double) {}catch (...) { // 捕获异常cout 除数为0 endl;}return 0;
}
4. 总结
被保护的代码必须放在try语句的大括号中否则不起作用异常捕获catch语句必须有一对大括号即使括号里没有任何语句一个try语句可以对应多个catch语句catch后紧跟的小括号可以只写类型名称如果在throw语句中没有指定异常信息类型则可以使用catch(...)语句来捕获任何类型的异常throw语句后可以不跟任何表达式直接写分号。