Java中try catch 的基本用法示例
前言
我們編譯執行程式出錯的時候,編譯器就會丟擲異常。丟擲異常要比終止程式靈活許多,這是因為
的Java提供了一個“捕獲”異常的的處理器(處理器)對異常情況進行處理。
如果沒有提供處理器機制,程式就會終止,並在控制檯上列印一條資訊,給出異常的型別.L
比如:使用了NULL引用或者是陣列越界等。
異常有兩種型別:未檢查異常和已檢查異常對於已檢查異常,處理器器將會檢查是否提供了處理器。
然而有許多の異常,如:訪問null引用,都屬於未檢查異常。編譯器不會檢視是否為這些錯誤提供了處理器。畢竟,應該用嚴謹的態度來對待寫程式碼,依次避免這些錯誤的發生,而不是將精力花在編寫異常處理器上。
廢話少說,show coder:
/ * try catch:自己處理異常
* try {
*可能出現異常的程式碼
*} catch(異常類名A e){
*如果出現了異常類A型別的異常,那麼執行該程式碼
*} ...(catch可以有多個)
* finally {
*最終肯定必須要執行的程式碼(例如釋放資源的程式碼)
*}
*程式碼執行的順序:
* 1.try內的程式碼從出現異常的那一行開始,中斷執行
* 2.執行對應的catch塊內的程式碼
* 3.繼續執行try catch結構之後的程式碼
*注意點:
* 1.如果catch內的異常類存在子父類的關係,那麼子類應該在前,父類在後
* 2。如果最後中有返回語句,那麼最後返回的結果肯定以最終中的返回值為準
* 3。如果最後語句中有回報,那麼沒有被處理的異常將會被吞掉
*重寫的注意點:
* 1.兒子不能比父親的本事大
* 2.兒子要比父親開放
* 3.兒子不能比父親惹更大的麻煩(子類的異常的型別不能是父類的異常的父型別)
*異常類Api:
* 1。的getMessage():獲取異常描述資訊字串
* 2。的toString():返回異常類的包路徑和類名和異常描述資訊字串 * 3。的printStackTrace():除了列印的toString的資訊外,還要列印堆疊資訊
* /
上面一段註釋來自網上這位博主的,覺得寫的很好,傳送門地址https://blog.csdn.net/wanghuiwei888/article/details/78818203
package Bird; import java.io.FileNotFoundException; import java.io.FileReader; // public class TestYc { public static void main(String[] args) { try{ FileReader fr = new FileReader("c:/abc.txt"); } catch (FileNotFoundException e) { //列印輸出異常 e.printStackTrace(); } Mother mother = new Mother(); mother.bbb(); //1.編譯時異常 //讀取該路徑"c:/abc.txt"下的檔案 /* try { FileReader fr = new FileReader("c:/abc.txt"); }catch(FileNotFoundException e) { //列印輸出異常 e.printStackTrace(); }*/ int [] arr = new int[] {1,2,3}; System.out.println(arr[2]); } } class Mother { private Boy b = null; // 構造器 public Mother() { b = new Boy(); } public void bbb() { // TODO Auto-generated method stub //呼叫帶有異常的方法 try { b.aaa(); }catch(FileNotFoundException e) { e.printStackTrace(); } } } class Boy { // throws 把異常拋給上層的呼叫者 public void aaa() throws FileNotFoundException{ FileReader fr = new FileReader("c:/abc.txt"); } }
執行截圖,檔案開啟不存在:
正常執行截圖:
總結
到此這篇關於Java中try catch基本用法的文章就介紹到這了,更多相關Java中try catch用法內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!