首页 > 其他 > 详细

对检查性异常和非检查性异常的理解

时间:2017-07-06 12:08:28      阅读:356      评论:0      收藏:0      [点我收藏+]
 从开始学习Java,就学习了异常处理,知道异常分为检查性异常和非检查性异常,RuntimeException属于非检查性异常,知道异常的分类。但工作之前没有很多的实际应用,知识书本上课件上的定义,对两种异常的理解并不是很清楚。工作后在实际代码中,逐渐捋顺清楚了,这里记录一下,基础知识就不说了,书上课件上网上资料很丰富,这里只总结对两种异常的理解。
 
1、检查性异常: JAVA编译器强制要求用try{}catch(){}块进行处理,如果不处理则必须在包含可能发生异常的代码的方法上用throws显示地抛出异常,由调用该方法的方法catch捕捉处理异常,否则程序编译不会通过,会有红叉提示。
如:
技术分享
 技术分享

 

这里必须要用try  catch块将代码包围起来或者throws显式 抛出异常,否则编译不会通过。
 
2、非检查性异常:JAVA编译器可以通过的异常,可以用try{}catch(){}进行处理,处理过后程序可以继续向下执行,也可以不处理,由调用它的方法进行处理。当然,也可以一直不处理,到了最上层,多线程的话线程会终止,单线程的话主程序会终止,也就是说运行时异常如果一直不进行处理,则会起到使程序停止的作用。
如:
技术分享
 技术分享

 

这里虽然抛出了异常,但只是阻止程序继续运行,并不会编译报错,无需在方法上用throws语句显式抛出异常。

对检查性异常和非检查性异常的理解

原文:http://www.cnblogs.com/bjh1117/p/7125509.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!