2012年10月3日 星期三

[Java]RuntimeException vs. Checked Exception vs. Error

例外類別架構圖

1. Runtime Exception
 程式設計師不小心或忘記產生.
 例如:
 
例外原因 例外名稱
陣列存取範圍例外ArrayIndexOutOfBoundsException
除0ArithmeticException
忘記將物件參考指定到一個物件實體NullPointerException 
指定陣列實體錯誤ArrayStoreExceptioin
類別型別轉換錯誤ClassCastException
方法參數傳遞錯誤IllegalArgumentException
宣告陣列大小為負值NativeArraySizeException
違反安全性限制SecurityException

2. Checked Exception
 外在因素所造成的,像是檔案存取錯誤,網路斷線等...
ps: 實際上並沒有Checked Exception 類別,凡不是RuntimeException 的例外,統稱Checked Exception.

常見的Checked Exception


例外原因 例外名稱
程式執行時,找不到所需的類別檔案ClassNotFoundException
找不到指定的檔案FileNotFoundException
執行緒中斷InterruptedException
輸出入處理錯誤IOException
資料庫處理錯誤SQLException

3. Error(例外處理能做的有限)
 屬於系統等級且非常嚴重的錯誤如 記憶體不足,執行緒死結
OutOfMemoryError
StackOverflowError
UnknowError
AWTError
ThreadDeadth


沒有留言:

張貼留言

讓ASP.NET網站在開發除錯時期擁有WEB.CONFIG文件轉換功能

ref: https://blog.kkbruce.net/2016/09/enabling-xml-document-transforms-for-all-asp-net-web-by-develop-time.html#.XoP1KGMzbRY