public class TestExceptions extends Exception {
public static void main(String[] args)
{
String test = "no";
try {
System.out.println("start try");
doRisky("no");
System.out.println("end try");
} catch(ScaryException se) {
System.out.println("scaryexception");
} finally {
System.out.println("finally") ;
}
System.out.println("end of main");
}
static void doRisky(String test) throws ScaryException {
System.out.println("start risky");
if ("yes".equals(test)) {
throw new ScaryException();
}
System.out.println("end risky");
return;
}
}
此代碼不起作用。錯誤:找不到符號。這是Head First Java Book的例子。在Java中創建自己的例外
如果我們將該類的名稱更改爲TestExceptions中的ScaryException,那麼它工作正常。爲什麼這樣? 是否有必要使類名與我們在自定義異常情況下拋出的異常相同。
是的,是必要的。如果你想使用'TestExceptions',那麼改變這一行'throw new TestException();' –
這裏是:*** ScaryException ***在你的JDK中? –
您必須使用同一個名稱來定義類的定義以及您在何處使用它。這對於例外情況並不特別。這是編程基礎知識 – Jens