Java技術_Java千百問(0021)_什麼是java中的異常
1、java異常是什麼
java在執行期間產生了某些問題,導致執行中斷,這一問題就稱為異常。
不同的原因都可能產生異常,包括以下內容:
==用戶輸入無效數據。
==需要打開的文件不存在。
==網絡連接已丟失。
==JVM已經耗盡內存。
==將null當作某種對象進行操作。
2、異常都分為哪些
要了解在Java中如何異常處理工作,需要了解三類異常:
檢查異常(checked exception)
檢查異常通常是用戶錯誤,程序員並不可預見的問題。例如,如果一個文件被打開,但該文件無法找到,則會出現異常。這些異常並不能在編譯時被發現。
運行時異常(runtime exception也叫unchecked exception)
運行時異常時本來可以由程序避免的異常。而不是已檢查異常,運行時異常是在編譯時被忽略。這裡的運行時異常並不是我們所說的運行期間產生的異常,只是Java中用運行時異常這個術語來表示而已。另外,所有Exception異常都是在運行期間產生的。
錯誤(error)
無法處理的異常,比如OutOfMemoryError,一般發生這種異常,JVM會選擇終止程序。因此我們編寫程序時不需要關心這類異常。
3、異常層次結構是怎樣的
在Java中,所有異常類的父類是Throwable類,Error類是error類型異常的父類,Exception類是exception類型異常的父類,RuntimeException類是所有運行時異常的父類,RuntimeException以外的並且繼承Exception的類是非運行時異常。
常見的RuntimeException包括NullPointerException、IndexOutOfBoundsException、IllegalArgumentException等。
常見的非RuntimeException包括IOException、SQLException等。
4、異常提供哪些方法
以下是Throwable類中比較重要的方法。
1 public String getMessage()
返回有關已發生異常的詳細消息。此消息在Throwable的構造函數中被初始化。
2 public Throwable getCause()
返回異常由一個Throwable對象所表示的錯誤原因。
3 public String toString()
返回getMessage()結果的名稱。
4 public void printStackTrace()
打印toString()結果以及堆棧跟蹤信息到System.err,輸出錯誤流。
5 public StackTraceElement [] getStackTrace()
返回堆棧跟蹤信息的數組。索引為0的元素表示堆棧的頂部,最後一個元素表示堆棧的底部。
如何捕獲java中異常看這裡:java如何捕獲異常
如何將異常拋出看這裡:throws/throw有什麼區別