异常Exception
Posted xp2h
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异常Exception相关的知识,希望对你有一定的参考价值。
1、什么是异常
异常是程序在“编译”或者“执行”的过程中可能出现的问题;
异常是应该尽量提前避免的,研究异常并且避免异常,然后提前处理异常,体现的是程序的安全,健壮性;
2、异常体系
Java中异常继承的根类是:Throwable(根类,不是异常类)
Error:严重错误,内存泄漏,JVM错误,管不了;
Exception(异常,需要研究和处理):
编译时异常:;
RuntimeException(运行时异常):
数组索引越界异常:ArrayIndexOutOfBoundsException;
空指针异常:NullPointerException;
类型转换异常:ClassCastException;
。。。。。。
3、编译时异常处理
3.1 方式一:
出现异常层层抛出,谁都不处理,最终抛出给虚拟机。这种方式虽然可以解决编译时异常,但是如果异常真的出现了,程序会直接死亡,所以这种方式并不好;
3.2 方式二:
在出现异常的地方自己处理,谁出现谁处理;
try{
代码。。。
}catch(Exception e){
e.printStackTrace();
}
3.3 方式三(规范做法):
在出现异常的地方把异常一层一层的抛出给最外层调用者,最外层调用者集中捕获异常。
4、运行时异常处理
运行时异常编译阶段不报错,可以处理也可以不处理,建议处理;
运行时异常可以自动抛出,不需要我们手工抛出;
直接在最外层捕获统一处理即可,底层会自动抛出;
以上是关于异常Exception的主要内容,如果未能解决你的问题,请参考以下文章
Java中Error和Exception的异同以及运行时异常(Runtime exception)与检查型异常(checked exception)的区别
Java中Error和Exception的异同以及运行时异常(Runtime exception)与检查型异常(checked exception)的区别