异常处理
目标
1. 明确什么是异常 (重点)
2. 能辨识出常见的异常及其含义。 (熟悉+)
3. 理解异常产生的原理 (了解)
4. 能处理异常 (重点)
5. 能够自定义异常类型 (熟悉)
异常体系结构
异常指的是Exception,Exception类,在Java中存在一个父类Throwable(可能的抛出)
Throwable存在两个子类:
1.Error:表示的是错误,是JVM发出的错误操作,只能尽量避免,无法用代码处理
2.Exception:一般表示所有程序中的错误,所以一般在程序中进行try--catch处理
什么是异常
异常是在程序中导致程序中断运行的一种指令流。
例如,现在有如下的操作代码:
public class ExceptionDemo01{
public static void main(String argsp[]){
int i = 10 ;
int j = 0 ; System.out.println("============= 计算开始 =============") ;
int temp = i / j ; // 进行除法运算
System.out.println("temp = " + temp) ;
System.out.println("============= 计算结束 =============") ;
}
};
运行结果: ============= 计算开始 =============
Exception in thread "main" java.lang.ArithmeticException: / by zero
at ExceptionDemo01.main(ExceptionDemo01.java:6)
以上的代码在“int temp = i / j ;”位置处产生了异常,一旦产生异常之后,异常之后的语句将不再执行了,所以现 在的程序并没有正确的执行完毕之后就退出了。 那么,为了保证程序出现异常之后仍然可以正确的执行完毕,所以要采用异常的处理机制。
finally
在进行异常的处理之后,在异常的处理格式中还有一个finally语句,那么此语句将作为异常的统一出口,不管是否产生 了异常,最终都要执行此段代码。
只有在try--catch中停止了JVM,finally才不会执行,;如电脑关机断电 或者执行了 System.exit();