但是,對於下面的代碼,我得到了未處理的Exception類型錯誤,儘管據我瞭解,我已經處理了catch塊中的異常。儘管在捕獲塊中捕獲未處理的異常錯誤
class NewException extends Exception{
private String msg;
public NewException(String msg){
this.msg = msg;
}
public String getExceptionMsg(){
return msg;
}}
class CatchException {
public static void method() throws NewException{
try {
throw new NewException("New exception thrown");
}
catch (NewException e){
e.printStackTrace();
System.out.println(e.getExceptionMsg());
}
finally {
System.out.println("In finally");
}
}}
public class TestExceptions{
public static void main(String[] args){
CatchException.method();
}}
您打印前你說得不對。 – Cratylus
我同意@Cratylus,當你執行'e.printStackTrace()'時,它看起來像你在IDE /命令行工具中有一個異常,但實際上你沒有。 –
@ Cratylus,@ FlorianMinges:我不確定自己明白。我在做什麼與Thinking in Java中的這個例子有什麼不同:http://www.linuxtopia.org/online_books/programming_books/thinking_in_java/TIJ311_005.htm? – Jin