Exception和Error区别

Exception一般程序运行期间,可以预期到异常,而希望能被捕获;而Error一般会导致程序崩溃,而是JVM出于非正常状态, 而这些非正常状态不能被程序捕获处理;

1.而我们Exception一般分为两种,检查异常和非检查异常;检查异常一般在编译期间必须进行捕获或抛出,检查异常是没有继承RuntimeException,而非检查异常是继承RuntimeException;

1.1.对于检查异常程序可以进行try{}catch(){}进行捕获;或向上抛、将由jvm处理;比如IOException,FileNotFoundException等这些异常,; 我们尽量捕获,因为我们每次向上抛jvm都会获取异常相应的堆栈信息,对性能有一定的影响
1.2.对于非检查异常也叫运行时异常,一般属于代码逻辑错误;比如(NullPointerException,ArrayIndexOfBoundsException)之类的异常, 只有在运行期间抛出的异常, 对于非检查异常程序处理是捕获、向上抛,不处理;在实际开发中一般是捕获异常,不至于异常导致系统故障;

2.Error是非检查异常,OutOfMemoryError等这些是在开发中无法检查到的;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值