Java 認識異常并掌握使用
Error
Java中的錯誤是不能被處理的,由JVM(Java虛擬機)拋出
Exception
異常是可以被處理的
常見的錯誤和異常如下圖
對于異常,必須要進行捕捉或聲明拋出
- 1.捕獲異常
try-執(zhí)行可能產(chǎn)生異常的代碼
catch-捕獲異常
finally-無論是否發(fā)送異常代碼總能執(zhí)行
try… catch… 相當于自己處理了異常
- 2.聲明異常
throws -聲明可能要拋出的異常
throws會將異常直接拋給上層處理
- 3.throw
throw-生成一個異常類對象
throw相當于手動拋出異常
try…catch
測試1
package com.lding.exception; import java.util.Scanner; /** * @program: Chat * @description: * @author: 王丁 * @date: 2021-09-28 10:49 **/ public class TryDemoOne { public static void main(String[] args) { //要求:定義兩個整數(shù),接受用戶鍵盤輸入,輸出兩數(shù)之商 Scanner input = new Scanner(System.in); System.out.println("=======運算開始========"); try { //包裹可能出錯的代碼 System.out.print("請輸入第一整數(shù):"); int one = input.nextInt(); System.out.print("請輸入第二個整數(shù):"); int two = input.nextInt(); System.out.println("one和two的商是:" + (one / two)); }catch (Exception e){//捕獲異常 e.printStackTrace();//打印出錯的位置 System.out.println("程序出錯了~~~~~");//出錯后執(zhí)行的語句 } finally {//無論是否出錯都一定會執(zhí)行的語句 System.out.println("======運算結(jié)束========"); } } }
運行結(jié)果
注意:當使用多重try…catch時要注意范圍,大范圍的(即父類)要后置
自定義異常類
AgeException類 寫一個類繼承Exception
在里面寫其構(gòu)造方法,在構(gòu)造方法中調(diào)用父類方法,傳入字符串
package com.lding.exception; /** * @program: Chat * @description: * @author: 王丁 * @date: 2021-09-28 11:22 **/ public class AgeException extends Exception { public AgeException(){ super("年齡不能為負數(shù)"); } }
AgeTest測試類
package com.lding.exception; /** * @program: Chat * @description: * @author: 王丁 * @date: 2021-09-28 11:23 **/ public class ExceptionTest { public static void testage(int age) throws AgeException { if(age<0){ throw new AgeException(); } } public static void main(String[] args) { int age=-1; try { testage(age); } catch (AgeException e) { e.printStackTrace(); } } }
測試結(jié)果
到此這篇關(guān)于Java 認識異常并掌握使用的文章就介紹到這了,更多相關(guān)Java 異常內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
非常全面的Java?SpringBoot點贊功能實現(xiàn)
但是這些功能再項目中是高頻出現(xiàn)的,如果直接操作數(shù)據(jù)庫的話,對數(shù)據(jù)庫壓力太大。那遇到這個問題怎么解決?這篇文章主要給大家介紹了關(guān)于Java?SpringBoot點贊功能實現(xiàn)?的相關(guān)資料,需要的朋友可以參考下2022-01-01如何修改覆蓋spring boot默認日志策略logback詳解
這篇文章主要給大家介紹了關(guān)于如何修改覆蓋spring boot默認日志策略logback的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-10-10SpringBoot org.springframework.beans.factory.Unsatisfie
本文主要介紹了SpringBoot org.springframework.beans.factory.UnsatisfiedDependencyException依賴注入異常,文中通過示例代碼介紹的很詳細,具有一定的參考價值,感興趣的可以了解一下2024-02-02java使用靜態(tài)關(guān)鍵字實現(xiàn)單例模式
這篇文章主要為大家詳細介紹了java使用靜態(tài)關(guān)鍵字實現(xiàn)單例模式,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-04-04Java實現(xiàn)反轉(zhuǎn)一個鏈表的示例代碼
本文主要介紹了Java實現(xiàn)反轉(zhuǎn)一個鏈表的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07springboot如何添加task任務(wù)執(zhí)行隊列
這篇文章主要介紹了springboot如何添加task任務(wù)執(zhí)行隊列問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07