2019-12-2 异常捕获

Posted liqking

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2019-12-2 异常捕获相关的知识,希望对你有一定的参考价值。

捕获异常和正常java跳出的异常不同,人为捕获异常,后面的程序依然会继续执行

语法:生成快捷键alt+shift+z

        try {
          捕获范围
        } catch (Exception e) {
       异常处理... e.printStackTrace(); }
finally { 无论如何都会执行的代码块 }

try...catch...finall的运行顺序

当try块中没有异常的时候,try块运行完之后跳过catch块不执行,直接运行后面的语句。

当try块中有异常的时候,try块运行到异常的语句,直接跳到对应的catch块中,执行后如果有finally最后在执行finally。

finally是最后始终要执行的语句块,即使有return

如果在try块中有多个不同类型的异常需要捕获

解决方案2种:

1.直接捕获异常父类Exception就可以了

2.多个异常依次捕获,多个catch块

2.1 多个异常依次捕获,需要注意异常的顺序问题,父类异常应该在最后处理

2.2 多个异常捕获,只会进入其中的一个异常

3.try catch都是单独的语句块

一般情况下使用第二种解决方案。

 

        try {
            
        }
        finally {
            
        }

try...finally只会出现在运行时异常时候的写法
强调finally里面的语句必须要运行


 

编译时异常,会在编译期间就提示错误,强制我们必须要try catch的异常。

除了RuntimeException之外,其他直接继承Exception的子类都是编译时异常

技术图片

以上是关于2019-12-2 异常捕获的主要内容,如果未能解决你的问题,请参考以下文章

代码中异常捕获输出

Java异常处理机制

从片段中捕获图像

小片段中的 ORA-06512 [重复]

如何在片段中从相机捕获图像,

捕获异常