java异常处理的三种机制

发布时间 2023-09-11 09:42:35作者: 搬砖滴

一、try-catch-finally语句(推荐)

try { 
    // 可能出现异常的代码 
} catch (Exception e) { 
    // 处理异常的代码 
} finally { 
    // 无论是否出现异常都会执行的代码 
} 

try-catch-finally语句是Java中最基本也是最常用的异常处理方法。它包含三个部分:try、catch和finally。try块中包含可能出现异常的代码;catch块中包含处理异常的代码;finally块中包含无论是否出现异常都会执行的代码。使用这个语句,我们可以把可能出错的代码放在try块中,如果出错了就会进入catch块来处理,而不会影响到其他正常执行的代码。此外,finally块中一般用来释放资源或者关闭文件。

 

二、throws关键字

public void method() throws Exception { 
    // 可能出错的代码  
} 

throws关键字也是一个很重要的Java异常处理方法。它用于声明一个方法可能会抛出一个或者多个特定的异常对象。在方法声明中使用,表示该方法可能产生此异常,如果在方法声明处使用了throws声明异常,该方法产生异常也不必捕获,直接把异常抛出到调用该方法的地方。如果方法有调用者,那就交给调用者处理,如果调用者继续一层层抛出,那最终交给虚拟机jvm,然后程序会中断。所以如果一个方法使用throws关键字声明了一个或者多个特定的异常对象,则在调用这个方法时必须使用try-catch语句来处理这些特定的异常对象。如果不使用try-catch语句来处理这些特定的异常对象,则必须将这些特定的异常对象再声明一遍并抛出去。

 

三、自定义Exception

public class MyException extends Exception {  

    public MyException(String message) {  

        super(message);  

    }  

 } 

自定义Exception是Java中最重要也是最有效地方法之一。通过自定义Exception,我们可以根据不同情况创建不同Exception子类来表征不同情况所对应的不同问题。例如,当数据库中无此数据时就可以创建DataNotFoundException子类来表征此问题并抛出此子类对应的Exception对象来告诉上层应用此问题已得到正确地处理并已得到直接地回应信息。