Java学习笔记(五)--Error与Exception

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan

Error

       一般指与虚拟机相关的问题,如系统崩溃、虚拟机错误、动态链接失败,这种错误属于JVM无法预期的错误,这是JVM层级的错误,发生时将会导致JVM无法继续执行,将会导致应用程序中断,所以就不存在捕获异常这一说法了。所以Error不用使用try...catch捕捉Error对线下,也不用在方法之后加throws抛出Error。

Exception

     一般指本应用系统自己由于处理不当或其他原因造成的异常,是可恢复的。异常分为可检查异常和运行时异常。可检查异常包括我们平时见到的IO异常和SQL异常,这种异常编译器会强制要求我们catch这类异常。运行时异常,当出现这样的异常时,我们可以不去处理,这类异常一般是由程序员造成,常见的包括NullPointerException,类型转换异常,数组下标越界等,出现运行时异常时系统会向上抛,会一直抛到最上层。

异常类继承关系

 

异常处理规则

 

  • 异常捕获时要先捕获小异常,后捕获大异常
  • Java7之后支持多异常捕获,多个异常之间使用"|"相隔,异常变量使用隐式的final修饰,所以异常不能被重新赋值
  • 异常只应该用于处理非正常的情况,不要使用异常处理来代替正常的流程控制
  • 不要使用过于庞大的try块,一旦try块增大,那么出错的概率就会更大,我们在try块后需要紧跟对不同异常类型的处理,这样就增加了try块的判断逻辑,会降低效率
  • 避免使用catch all语句,所有的异常采用同样的处理方式将导致无法对不同的异常分情况处理,如果要分情况处理需要在catch块中进行流程控制,这样就得不偿失了。
  • 不要忽略捕获到的异常,当程序捕获到异常后,我们不应该仅仅采用输出的方式。
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值