基本概念
1. Throwable是所有错误(Error)和异常(Exception)的超类
2. Error用于描述java虚拟机无法解决的严重错误,通常无法编码解决,如:JVM挂掉了等
3. Exception用于描述因编程错误或偶然外在因素导致的轻微错误,通常可以编码解决,
如: 0 作为除数等
异常的分类
java.lang.Exception类是所有异常的超类,主要分为以下两种:
RuntimeException 运行时异常 (非检测性异常)
ArithmeticException类 - 算术异常
ArrayIndexOutOfBoundException - 数组下标越界异常
NullPointerException - 空指针异常
ClassCastException - 类型转换异常
NumberFormatException - 数字格式异常
IOException 和 其他异常 (检测性异常,能够被编译器检测出来)
class ExceptionTest { main (String[] args){ // 1.非检测性异常 (运行时异常) println(5 / 0); // 编译ok,运行阶段会发生算数异常 println("出现异常时,若没有手动处理,则后面的语句则不会执行"); // 2.检测性异常 Thread.sleep(1000); // 编译错误,不处理就无法到运行阶段 } }