异常处理,就是当异常发生时,对异常处理的方式。
1、try-catch-finally
在代码中捕获发生的异常,自行处理,继续执行后续程序。
2、throws
抛出异常,交给调用者(方法)来处理,最顶级的处理者是JVM,程序退出。
3、自定义异常
- 自定义异常类名 extends Exception / RuntimeException
- 继承Exception,属于编译异常;
- 继承RuntimeException,属于运行异常(一般继承这个)。
常见的运行时异常:
1、NullPointerException 空指针异常
2、ArithmeticException 数字运算异常
3、ArrayIndexOutOfBoundsException 数组下标越界异常
4、ClassCastException 类型转换异常
5、NumberFormatException 数字格式不正确异常
- 对于编译异常,程序必须处理,比如 try-catch 或 throws;
- 对于运行时异常,程序中如果没有处理,默认就是throws的方法处理;
- 子类重写父类方法时,对抛出异常的规定:子类重写的方法,所抛出的异常类型要么和父类抛出的异常一致,要么为父类抛出异常的类型的子类型。