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.???r?常//?取?路??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用法內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: