-2
我想捕捉一個特定的異常並處理它,然後拋出一個執行代碼來處理任何異常的泛型異常。這是如何完成的?這段代碼不趕Exception
等輸出在catch塊內拋出一個異常
Exception in thread "main" java.lang.Exception
at Main.main(Main.java:10)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
IOException specific handling
Process finished with exit code 1
的片段:
import java.io.IOException;
public class Main {
public static void main(String[] args) throws Exception {
try {
throw new IOException();
} catch (IOException re) {
System.out.println("IOException specific handling");
throw new Exception();
} catch (Exception e) {
System.out.println("Generic handling for IOException and all other exceptions");
}
}
}
可能的重複[異常拋出內部catch塊 - 它會再次被捕獲?](http://stackoverflow.com/questions/143622/exception-thrown-inside-catch-block-will-it-be-caught-再次) –
這種失敗的方式是什麼?由於已經打印了「IOException特定處理」消息,因此您已到達「catch」塊。然後,應用程序退出,出現異常,因爲您*拋出異常*。 – David
@David我希望執行Exception塊中的代碼。 – newToScala