2018-07-20 Java异常处理

捕获异常

通常我们使用try    catch    finally 来处理Java的异常

try{

可能发生异常的代码块

}catch(可以捕获的异常1){

处理异常1的代码

}catch(可以捕获的异常2){

处理异常2的代码

}finally{

处理完所有异常后一定会执行的代码。

在这里注意的事。如果在这里没有出现异常,最终也会执行这行代码

}

异常处理执行过程

如果try中的代码没有异常,代码将会运行,但是运行完try之后,finally里面的程序代码也会运行,所以无论异常与否,finally中的程序代码都将运行实现

你看,这是一个用整数去除以0时,系统报出的异常。在这里我们就可以清晰地看到这个异常是什么意思,并且该异常出现的位置都已经显示出来了,如此我们就可以直接在代码中定位到该位置并且对错误进行修改,这就是异常处理机制最大的好处:跟踪错误代码。并且,还有一个比较重要的好处,就是对于一些可修复的程序来说,我们可以直接捕获到这个异常,并且直接修改修复它,从而避免了系统崩溃的发生。同样的例子,我们进行修改如下:


package testabstractclass;

import java.io.IOException;

public classTest1{

public static void main(String[] args) throws IOException{

        int i = 1;

        try {

            i = i/0;

        } catch (Exception e) {

            i += 1;

        }

        System.out.println(i);

    }

}

上面的程序运行打印结果为2,为什么没有报错呢,因为我们把出错的try中的代码捕获了,然后程序执行了catch中的代码i+1

而finally中的代码总是要执行的,然后就打印出结果2

Throwable是所有异常的父类

猜你喜欢

转载自blog.csdn.net/qq_40111789/article/details/81183265
今日推荐