首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

基础备忘:错误处理

2012-09-20 
基础备忘:异常处理抛出异常当一段程序中发现错误数据,但是该程序不知道如何处理时,可以抛出异常。在C中,用t

基础备忘:异常处理

抛出异常

当一段程序中发现错误数据,但是该程序不知道如何处理时,可以抛出异常。在C++中,用throw来抛出异常。语法如下:

throw 错误信息;

在上面语句中,throw是关键字,该语句用于检测是否产生异常。例如,当除数为0时,抛出异常。例如:

上面程序中抛出异常,有错误信息提示。但是如果只有异常抛出,程序将中途退出,这也是具体程序设计中不允许的,为此C++引入了异常的捕获和处理机制。

捕获异常

如果一个函数抛出异常,它必须能被捕获和处理。在C++中提供了try...catch语句来捕获异常,其中,try和catch分别用于定义异常和定义异常处理。定义异常是将可能产生错误的语句放在try语句块中。其格式是:


可以看出,上述程序中函数func1和函数func2都可以抛出int类型的异常,因此只有一个Int类型的异常处理。整个try块在for循环之内,因此异常的抛出不影响for循环的运行。

例2:下面程序求一元二次议程的实根,要求加上异常处理,判断b*b-4*a*c是否大于0,成立则求个实根,否则要求重新输入,实现代码如下。


catch语句后的参数(即数据类型)需要与throw语句后的表达式数据类型相同。

例3:定义一个异常处理类,该类需能捕获错误类型并返回,在主函数中当用户输入整数1时发生异常,并调用类的成员函数进行异常处理。


例4:

上例中,try语句块中,在异常句后面的语句被跳过,直接执行catch及catch后面的语句。

例5



热点排行