2015-11-06 47 views
-2

我並不是指單個程序中的每個錯誤,而是指Java 8中可能出現的每個錯誤。在Java文檔中是否有某處可以找到它?如何枚舉Java中所有可能的錯誤?

+0

'Throwable'的所有子類都是您的枚舉。 – Rumoku

+0

每個子類是否對應一個錯誤? –

+0

可能我不明白你的問題。列舉所有錯誤是什麼意思? – Rumoku

回答

1

在我看來,更多的是研究問題,而不是一個紮實落實,但是任何基礎上,你有2行查詢:

1)任何錯誤,可以發生後編譯纔會發生的情況下, Throwable類型,如果你想跟蹤所有這些,你需要在你打算用於報告的類中包含運行時庫的每一部分(以及包含在你的項目中的任何其他可能的用戶定義庫)他們回到你或你正在運行的項目程序。然後,您將使用反射填充來遍歷所有當前定義的類,並列出所有返回true的列表,如instanceof Throwable - 假設您需要所有可能的類名稱。這些例外的潛在原因只能通過與任何給定的Throwable類相關的文檔來暗示。

2)另一方面,如果你想要所有的編譯時間錯誤,那麼你需要查看Java編譯器的源代碼。

但是誠實地說,例外被稱爲例外的原因是因爲它報告基於特殊情況的錯誤,您應該能夠在開發過程中搶佔先機。任何錯誤都會導致程序停止運行拋出異常並捕獲任何內容Throwable沒有明確具體類型並不是應該考慮實現的東西 - 除非使用最後一次機會轎車心態(如果我的軟件沒有解決所有情況我可以預見它可能會重置爲零,但不會完全翻轉)。

0

您可以通過查看java.lang包的package tree view得到的這些很好的概述,並導航到的Throwable(你可以得到這一觀點在導航欄中選擇

Throwable是根Java中的所有錯誤和異常。值得注意的例外是

  • java.lang.Error:異常/致命錯誤
  • java.lang.Exception的根:檢查異常的根[*]
  • java.lang.RuntimeException:未檢查異常
  • 的根

[*]如果延伸異常但不是RuntimeException