您還沒有指定一個語言
,我不知道的語言,所以我一般回答。
你不能那樣做。如果你想擁有共同的代碼,把它放到finally
中,或者只需要爲某些捕獲的案例執行,你可以將代碼複製到相應的案例中。如果代碼更大並且您想避免冗餘,則可以將其放入其自己的函數中。如果這會降低代碼的可讀性,可以嵌套try/catch塊(至少在Java和C++中,我不知道你的語言)。這是Java中的例子:
class ThrowingException {
public static void main(String... args) {
try {
try {
throw new RuntimeException();
} catch(RuntimeException e) {
System.out.println("Hi 1, handling RuntimeException..");
throw e;
} finally {
System.out.println("finally 1");
}
} catch(Exception e) {
System.out.println("Hi 2, handling Exception..");
} finally {
System.out.println("finally 2");
}
}
}
這將打印出:
Hi 1, handling RuntimeException..
finally 1
Hi 2, handling Exception..
finally 2
把你的普通代碼外catch塊。使用嵌套版本進行處理也可以處理髮生異常而不顯式重新拋出catch塊中的舊內容的情況。它可能適合你想要的更好,但也可能不會。
你能發佈爲什麼你想這樣做的目的? – shahkalpesh 2008-12-12 20:09:59