Java中的异常机制
Posted Ferron Zhu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中的异常机制相关的知识,希望对你有一定的参考价值。
1、异常概述
异常是指由于各种意想不到的问题,程序中断运行的一种指令流。Java中所有的异常都是继承自Throwable
父类。异常包括两类,分别为Error
类与Exception
类。
Error
类:这种异常是指程序无法处理的错误,这种异常一般是由于代码运行时JVM出现了错误。这种错误不是代码的错误,属于免检异常,是不需要去处理的。
Exception
类:
RuntimeException
:运行时异常,这种异常是因为JVM运行时发生的异常,比如NullPointerException
或者ArrayIndexOutBoundException
这种异常也是属于免检异常,一般是因为代码的逻辑出现问题,也就是所谓的bug,在程序中可以捕获这种异常,也可以不处理。- 非
RuntimeException
:编译时异常,这种异常是因为代码出现问题,导致的编译不通过而产生的异常,比如IOException
。该种异常属于必检异常,必须要对这种异常进行处理。
2、异常处理机制
Java中对于异常有两个解决方法,抛出异常和捕获异常。
抛出异常:是指将会出现的异常使用throw
语句进行抛出,程序会自动去寻找处理该异常的代码并执行
捕获异常:将抛出的异常捕获并且进行处理的过程。方法内部也可以通过try
和catch
等代码块进行异常的捕获并且处理。
- 所有的必检异常必须进行处理,要么抛出异常要么自己捕获异常进行处理。
- Error异常出现时,JVM会自己进行处理。
RuntimeException
异常可以处理,也可以选择不处理。
以上是关于Java中的异常机制的主要内容,如果未能解决你的问题,请参考以下文章