一、什麼是異常
異常就是程式運作過程中所出現的不正常現象。
try
:把可能發生例外的程式碼包起來,當發生異常時,將例外情況拋出
catch
:捕獲異常並處理
finally
:不管是否發生異常,都會執行
throw
:手動引發一個異常
throws
:定義任何被呼叫方法的異常
線上學習影片推薦:java線上影片
二、異常出現的原因
使用者輸入錯誤;
程式碼的錯誤;
環境的因素;
異常機制保證了程式的健全性!
三、異常的分類空引用異常
下標越界異常
Error與編``譯環境有關,它是Java執行時間的內部錯誤以及資源耗盡錯誤。很難修復,不期望用戶能修復。
四、取得異常訊息程式發生異常的時候,程式就直接從try執行到catch語句區塊,不再繼續執行`在這裡。
public class text3 { public static void main(String[] args) { System.out.println("main开始执行"); text3 a=new text3(); a.text(); System.out.println("main执行结束"); } public void text() { int a; try { a=2/0; System.out.println(a); }catch(ArithmeticException e){ System.out.println("程序发生了异常"); } } }
異常捕獲之後程式才不會斷
public class text3 { public static void main(String[] args) { System.out.println("main开始执行"); text3 a=new text3(); a.text(); System.out.println("main执行结束"); } public void text() { int a; //try { a=2/0; System.out.println(a); //}catch(ArithmeticException e){ //System.out.println("程序发生了异常"); //} } }
異常自己不處理但是得聲明一下。
異常宣告:指一個方法不處理它所產生的異常,而是呼叫層次向上傳遞,誰呼叫的這個方法誰來處理。
五、手動拋出異常throw exception; 參數exception表示要拋出的異常對象,該對像是throwable類的子類,而且只能夠是一個。
public void text1() throws ArithmeticException{ } public static void main(String[] args) { Text t=new Text(); try { t.text(); } catch (Exception e) { // TODO Auto-generated catch block System.out.println(e.getMessage()); } } public void text() throws Exception { //手动抛出异常 throw new Exception("这是手动抛出来的"); } }
public class Textthrow { public static void main(String[] args) { double a=Math.random(); try { if(a>0.5) { System.out.println(a+"程序不报错"); } else { throw new Exception(); } }catch(Exception e) { System.out.println("这是外层捕获的对象"+e); try { a=1/0; }catch(ArithmeticException e1) { System.out.println("这是内层捕获的对象"+e1); }finally { System.out.println("这是内层的finally块"); } }finally { System.out.println("这是外层的finally块 "); } } }
以上是java中的異常概述的詳細內容。更多資訊請關注PHP中文網其他相關文章!