我有一個任務來預測程序的輸出而不打印它。兩個例外之間的區別
在這個程序人沒有overwritte toString()方法和輸出
Exception in thread "main"
java.lang.MethodNotFoundException
,第二個的變體是
cannot resolve symbol
symbol: method toString()
是什麼這些2之間差?
我有一個任務來預測程序的輸出而不打印它。兩個例外之間的區別
在這個程序人沒有overwritte toString()方法和輸出
Exception in thread "main"
java.lang.MethodNotFoundException
,第二個的變體是
cannot resolve symbol
symbol: method toString()
是什麼這些2之間差?
前者是運行時異常,第二種是編譯錯誤,不允許代碼首先運行。如果你運行一個toString方法而不覆蓋它,這兩者都不應該出現,除非你定義了一個顯式的類層次結構,其中你有一個類拋出前一個異常,然後讓它的一個孩子無法覆蓋它。
非常感謝你!=)) – 2011-12-22 09:05:35
首先在運行時出現,其中動態地測試方法存在並且它不存在。
第二個是在編譯時,因爲一個方法不存在。
非常感謝你!=) – 2011-12-22 09:04:20
第二個異常是一個Checked異常,它可以在應用程序中被捕獲和處理,如果你沒有捕獲到第二類異常,編譯器會在編譯期間拋出一個錯誤。
while the 1st exception is Unchecked Exception。它在編譯期間不能被編譯器檢測到,並且你無法捕捉它。更好的稱之爲魔鬼異常:)
這是完全錯誤的。 – SLaks 2011-12-22 03:27:23
非常感謝你!=) – 2011-12-22 09:03:51
**請向我們展示您的_code _。** – SLaks 2011-12-21 20:59:19
一個技巧,這些都不會發生,toString()是爲所有java對象定義的。 – josefx 2011-12-21 21:20:03
使用作業標籤,如果這是一個作業問題 – ethan 2011-12-21 21:53:57