爲什麼在Java中我們可以捕獲一個Exception
即使它沒有被拋出,但我們不能捕獲它的子類(除了「未選中」RuntimeException
和它的子類)。示例代碼:Java無法訪問的catch塊編譯器錯誤
class Test {
public static void main(String[] args) {
try {
// do nothing
} catch (Exception e) {
// OK
}
try {
// do nothing
} catch (IOException e) {
// COMPILER ERROR: Unreachable catch block for IOException.
//This exception is never thrown from the try statement body
}
}
}
任何想法?
這意味着沒有什麼可以趕上(沒有錯誤)我看不到問題 – Neal 2011-05-05 14:58:36
你應該閱讀Java語言規範,或者至少一個好的Java教程。 – 2011-05-05 14:59:11