您好,登錄后才能下訂單哦!
這篇文章主要介紹Java中異常處理的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
在java中,異常就是java在編譯、運行或運行過程中出現的錯誤
總共有三種:1.編譯錯誤 2.運行錯誤 3.邏輯錯誤
1.編譯錯誤是因為程序沒有遵循語法規則,編譯程序能夠自己發現并且提示我們錯誤的原因和位置,這個也是新手在剛接觸編程語言時經常遇到的問題。
2.運行時錯誤是因為程序在執行時,運行環境發現了不能執行的操作。
3.邏輯錯誤是因為程序沒有按照預期的邏輯順序執行。異常也就是指程序運行時發生錯誤,而異常處理就是對這些錯誤進行處理和控制。
package org.oracle.test; public class TryDemo9 { public static void main(String[] args) { System.out.println(1/0);//0不能做除數 System.out.println("你好");//程序捕獲異常,程序終止,不執行 } }
在代碼執行過程中遇到異常就會終止
運行的結果里會告訴我們異常的類型,異常出現的位置
RuntimeException:運行時異常,一般不手動處理,出問題了再處理。
其他Exception:必須要經過手動處理。
Error:一般指的是系統級錯誤。
package org.oracle.test; import java.util.Scanner; public class TryDemo2 { public static void main(String[] args) { System.out.println(testOne()); } /* * 當try、catch、finally代碼塊中都有return語句, * 程序無論報錯與否都會執行finally里面的renturn語句 */ public static double testOne() { try { Scanner sc = new Scanner(System.in); System.out.println("請輸入第一個數字:"); int a = sc.nextInt(); System.out.println("請輸入第二個數字:"); int b = sc.nextInt(); int result = a / b; // System.out.println("result:" + result); System.out.println("執行了try塊"); return result; }catch (Exception e) { e.printStackTrace(); return 0; }finally { return -1000; } } }
運行結果:
try-- 用于監聽。將要被監聽的代碼(可能拋出異常的代碼)放在try語句塊之內,當try語句塊內發生異常時,異常就被拋出。
catch-- 用于捕獲異常。catch用來捕獲try語句塊中發生的異常。
finally-- finally語句塊總是會被執行。它主要用于回收在try塊里打開的物力資源(如數據庫連接、網絡連接和磁盤文件)。
throws表示方法準備要扔出來一個異常
throw表示向外拋出異常
package org.oracle.test; import java.util.InputMismatchException; public class TryDemo8 { public static void main(String[] args) { try { testThree(); } catch (Exception e) { System.out.println(e.getMessage()); e.printStackTrace(); } } public static void testOne() throws InputMismatchException{ throw new InputMismatchException(); } public static void testTwo() throws Exception { try { testOne(); } catch (InputMismatchException e) { throw new Exception("新異常1",e); } } public static void testThree() throws Exception { try { testTwo(); } catch (Exception e) { Exception e1 = new Exception("新異常2"); e1.initCause(e); throw e1; } } }
運行結果:
自定義異常:直接繼承Exception或者RuntimeException來是實現自定義異常
package org.oracle.test; import java.util.Scanner; public class TryDemo6 { public static void main(String[] args){ try { hotelRule(); } catch (Exception e) { e.printStackTrace(); } } /* * 基帝開了個情侶酒店,基帝酒店規矩:18歲以下和80歲上以上客戶,需要家人陪同入住 */ public static void hotelRule() throws Exception { Scanner sc = new Scanner(System.in); System.out.println("請輸入客戶年齡:"); int age = sc.nextInt(); if(age < 18 || age > 80) { throw new HotelException(); }else { System.out.println("成功入住"); } } }
package org.oracle.test; /* * 自定義異常需繼承Exception */ public class HotelException extends Exception{ public HotelException() { super("由于年齡問題,無法入住"); } }
運行結果:
以上是“Java中異常處理的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。