java异常体系

异常处理机制主要回答了3个问题

  • What:异常类型回答了什么被抛出
  • Where:异常堆栈跟踪回答了在哪抛出
  • Why:异常信息回答了为什么被抛出

java的异常体系

Error:程序无法处理的系统问题,一般与JVM相关,编译器不做检查,如:系统奔溃,虚拟机错误,系统内存不足,调用栈溢出。

Exception:程序可以处理的异常,可以被程序捕获、处理和恢复。

常见的Error以及Exception

RuntimeException

  1. NullPointerException:调用空对象的方法或属性
  2. ClassCastException:将某个实例赋值给非父类对象
  3. IllegalArgumentException:给方法传递了不满足要求的参数(个数或类型)
  4. IndexOutOfBoundsException:数组下标异常
  5. NumberFormatException:试图将一个字符串转换为指定数字类型,而该字符串确实不满足该数字类型

非RuntimeException

  1. ClassNotFoundException-找不到指定class的异常
  2. IOException-IO操作异常

Error

  1. NoClassDefFoundError-找不到class定义的异常,原因:
    1. 类依赖的class或者jar不存在(e.g. maven中漏引了某个jar包)
    2. 类文件存在,但是存在不同的域中
    3. 大小写问题,javac编译的时候是无视大小写的,很有可能编译出来的class文件就与想要的不一样
  2. StackOverFlowError-深递归导致栈被耗尽而抛出的异常
  3. OutOfMemoryError-内存溢出异常

java的异常处理机制

java异常的处理原则

高效主流的异常处理框架

try-catch的性能

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值