Java异常处理

参考博客:http://blog.csdn.net/hguisu/article/details/6155636

Java把所有的非正常情况分为两类:Error和Exception;其中Error是程序自身无法处理的错误;Exception是程序自身可以处理的异常。

这两类非正常情况继承同一个父类:Throwable类;

Java的异常类之间的关系(图片来自网上):


Java通常将异常分为两类:可查异常(在编译阶段就能确定的异常,当出现这类异常的时候,必须进行处理使用try-catch/throws)、不可查异常(运行时异常/Error);

而Exception又可以分为两类:运行时异常和编译异常

运行时异常指的是:编译器不会对其产生错误信息;

编译异常:编译的时候就不能通过,必须进行处理(使用try-catch/throws)。


处理异常机制:

1.当一个方法发生异常的时候,该方法会创建一个异常对象交付给运行时系统,由其负责寻找处理异常的代码并且执行;(通常用throws关键字进行异常抛出)

2.捕捉异常:在方法抛出异常之后,运行时系统将转为寻找合适的异常处理器。潜在的异常处理器是异常发生时依次存留在调用栈中的方法的集合。当异常处理器所能处理的异常类型与方法抛出的异常类型相符时,即为合适 的异常处理器。运行时系统从发生异常的方法开始,依次回查调用栈中的方法,直至找到含有合适异常处理器的方法并执行。当运行时系统遍历调用栈而未找到合适 的异常处理器,则运行时系统终止。同时,意味着Java程序的终止。(通常使用try-catch/throws进行异常捕捉)。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值