在Java中catch塊中如何重新拋出異常

小樊
129
2024-09-11 20:16:51

在Java中,要在catch塊中重新拋出異常,可以使用throw關(guān)鍵字,并提供要拋出的異常對(duì)象

public class Example {
    public static void main(String[] args) {
        try {
            // 這里可能會(huì)拋出一個(gè)異常
            int result = riskyOperation();
        } catch (Exception e) {
            System.err.println("發(fā)生異常: " + e.getMessage());
            
            // 重新拋出異常
            throw e;
        }
    }

    private static int riskyOperation() throws Exception {
        // 這里只是一個(gè)示例,實(shí)際上可能會(huì)執(zhí)行一些有風(fēng)險(xiǎn)的操作
        if (Math.random() < 0.5) {
            return 42;
        } else {
            throw new Exception("隨機(jī)異常");
        }
    }
}

在這個(gè)示例中,我們首先嘗試調(diào)用riskyOperation()方法。如果該方法拋出異常,我們將在catch塊中捕獲它。然后,我們打印一條錯(cuò)誤消息,并使用throw關(guān)鍵字重新拋出相同的異常。這將導(dǎo)致調(diào)用者處理這個(gè)異常,或者繼續(xù)向上傳遞,直到找到合適的異常處理程序。

0