JAVA异常处理捕获与抛出原理解析
作者:agrin
这篇文章主要介绍了JAVA异常处理捕获与抛出原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
JAVA 异常
当代码运行出现错误导致程序终止运行或出现错误情况的状况,就是异常。异常不是指语法错误,即不属于编译错误,只有运行的程序才会有异常。
这个时候,JAVA 就提供了优秀的处理方法:异常处理
异常处理能让程序在异常发生时,按照异常处理设定的逻辑对异常进行处理,最大程度保证程序继续运行,并且显示并处理异常。
JAVA 程序发生异常,就会用对应的异常类的对象来封装异常,JRE(Java Runtime Environment) 便会寻找对应的异常处理逻辑来处理该异常。
总的说来,异常处理机制就是,当 JAVA 异常出现,会将其封装成对象,JRE 会通过对象特点寻找已经设定好的处理逻辑进行处理。
JAVA 异常处理方式
try...catch...finally (有单catch和多catch处理方式,执行逻辑基本相同,finally 可要可不要)
public class Try{ public static void test(){ try { } catch (Exception e) { //TODO: handle exception } finally{ //TODO: recycle } } }
- try: 置放需要监听的代码块,当代码块出现异常,异常会被抛出
- catch: 用于捕获 try 代码块的抛出的异常
- finally: 在异常抛出与捕获之前执行,主要用于回收 try 代码块里打开的资源(比如连接,文件等),如果 finally 代码块有终止语句,那么不会向后执行
- throw: 抛出异常
- throws: 用于方法签名中,声明该方法可能抛出的异常
同时异常类很多,还可以通过继承 Exception 类来自定义异常,同时还可以通过
assert 关键字进行断言检查(在命令行模式下运行Java程序时可增加参数-enableassertions或者-ea打开断言。可通过-disableassertions或者-da关闭断言)。至于有哪些异常类,怎么用,就看文档吧。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。