NoSuchMethodError和NoSuchMethodException 区别
生活随笔
收集整理的這篇文章主要介紹了
NoSuchMethodError和NoSuchMethodException 区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
NoSuchMethodException繼承自Exception; NoSuchMethodError繼承自Error,一般有兼容性問題時會拋出該異常;
前者是普通的A.b()形式調用,在極其特殊的情況下,發現A類里面沒有b方法時拋出,一般情況下這種錯誤是不會存在的,連編譯前的檢查都沒法通過。但是可能在某些極端情況下出現,比如字節碼在內存中被改了。 后者我估計是在反射的時候,依據傳入的方法名尋找方法時沒找到。 Error代表的是無法恢復的錯誤,必須由jvm處理或者終止,而Exception是可以恢復的異常,程序員可以自行捕獲。
NoSuchMethodError:當應用程序試圖調用類(靜態或實例)的指定方法,而該類已不再具有該方法的定義時,拋出該異常。通常由編譯器捕獲該錯誤;僅當類定義發生不相容的更改時,在運行時才會發生該錯誤。
NoSuchMethodException:無法找到某一特定方法時,拋出該異常。
轉載于:https://my.oschina.net/xianggao/blog/393954
總結
以上是生活随笔為你收集整理的NoSuchMethodError和NoSuchMethodException 区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux 被***后的检查
- 下一篇: Linux 下面的时区与时间错误修复过程