我是Java新手,並試圖理解Java中的異常。Java中的例外
class MyException extends Exception {
void someMethod() {
doStuff();
}
void doStuff() throws MyException {
try {
throw new MyException();
}
catch(MyException me) {
throw me;
}
}
}
此程序會產生錯誤:
java:3: unreported exception MyException; must be caught or declared to be thrown
doStuff(); ^
try和catch塊的doStuff()
方法中寫入。另外doStuff()
方法「拋出」MyException
,那麼爲什麼還需要在someMethod()
中丟掉MyException
呢?
多數民衆贊成在這種情況下,你拋出異常 – 2011-04-14 01:24:01
只是一個說明...檢查異常幾乎是一個Java idiosynchrasy:他們不*在OOA/OOD水平存在,並有很多語言完成很好**那個「概念」。有些人甚至認爲檢查異常是:* a)*榮耀的GOTO語句,* b)*應該被排除在語言之外的Java錯誤,* c)*不惜一切代價避免(* Spring *框架浮現在腦海中,但它遠非唯一)。你還有一大堆在JVM之上運行的語言,它決定讓這個「特性*出語言......例如 – SyntaxT3rr0r 2011-04-14 08:46:42
...... 250 000中等代碼庫,在這裏我們沒有定義一個單一的checked異常和我們沒有拋出單個檢查異常的地方。所以,你需要閱讀關於檢查異常的內容。 :) – SyntaxT3rr0r 2011-04-14 08:48:14