异常(Exception):软件程序在运行的过程中可能遇到的问题叫做异常。
JAVA中面对异常提供了方便的处理方式,java的异常机制
本质:程序出现错误后,程序可以安全的退出。
java是采用面向对象的方式来处理异常。处理过程:
1.抛出异常:在执行一个方法时,如果发生异常,则这个方法生成代表该异常的一个对象,停止当前执行路径,并把异常对象提交给JRE.。
2.捕获异常:JRE得到该异常后,寻找相应的代码来处理该异常。JRE在方法的调用栈中查找,从生成异常的方法开始回溯,直到找到相应的异常处理代码为止。
例:
Throwabel是java.lang包下的异常类,Error(错误)和Excepiton(异常)都是其分支,error发生时直接重启虚拟机即可。
Throwable
-Error(错误)
--UncheckedException
-Exception(异常)
--CheckedException(编译时异常)
--RuntimeException(运行时异常)
Exception是程序本身可以处理的异常,如:空指针,数组下标越界,类转型,算数。
Exception是所有异常类的父类,其子类对了各种的异常事件。
运行时异常多数时候都是逻辑错误,需要逻辑处理来避免这些异常。
例:
空指针异常(NullPointerException)为最常见的运行时异常
对象为空再去调用其属性和方法
例:
强制转型异常(ClassCastException):
数组越界异常(ArrayIndexOutOfBoundsException):
注:运行时异常是需要程序去检查的,并在逻辑上判断并进行修改。