C 抛出异常技巧讲解
创始人
2024-06-22 09:10:55
0

C++语言与其他编程语言一样,其中也包含有关于异常的处理。我们在这里将会为大家详细讲解一下有关C++抛出异常的实现方法,及异常的应用方式。希望大家可以从中获得些帮助,以提高对此的理解程度。#t#

C++抛出异常(也称为抛弃异常)即检测是否产生异常,在C++中,其采用throw语句来实现,如果检测到产生异常,则抛出异常。该语句的格式为:
throw 表达式;

如果在try语句块的程序段中(包括在其中调用的函数)发现了异常,且抛弃了该异常,则这个异常就可以被try语句块后的某个catch语句所捕获并处理,捕获和处理的条件是被抛弃的异常的类型与catch语句的异常类型相匹配。由于C++使用数据类型来区分不同的异常,因此在判断异常时,throw语句中的表达式的值就没有实际意义,而表达式的类型就特别重要。

处理除数为0的异常。该范例将上述除数为0的异常可以用try/catch语句来捕获异常,并使用throw语句来实现C++抛出异常,从而实现异常处理,实现代码如代码清单所示。

  1. #include //包含头文件  
  2. #include 
  3. double fuc(double x, double y) //定义函数  
  4. {  
  5. if(y==0)  
  6. {  
  7. throw y; //除数为0,抛出异常  
  8. }  
  9. return x/y; //否则返回两个数的商  
  10. }  
  11. void main()  
  12. {  
  13. double res;  
  14. try //定义异常  
  15. {  
  16. res=fuc(2,3);  
  17. cout<<"The result of x/y is : "<
  18. res=fuc(4,0); //出现异常  
  19. }  
  20. catch(double) //捕获并处理异常  
  21. {  
  22. cerr<<"error of dividing zero.\n";  
  23. exit(1); //异常退出程序  
  24. }  

【运行结果】在Visual C++中新建一个【C++ Source File】文件,输入上述的代码,编译无误后运行。

【范例解析】上述代码中,在主函数main()的第14~19行中使用了try语句定义异常,其中包含3条有可能出现异常的语句,它们为调用两个数相除的函数。在代码的第20~24行定义了异常处理,即捕获异常后执行该段代码中的语句。此外,在函数fuc()的代码5~8行通过throw语句实现C++抛出异常。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...