Java之自定義異常
/*
* 自定義異常:自己宣告一個類,繼承Exception
*/
public class Demo {
//這裡我們使用陣列模擬資料庫 進行 自定義異常處理
static String[] userNames = {"張三","李四","王五","週週"};
public static void main(String[] args) {
try {
regist("張三"); //使用使用者名稱:阿發 進行註冊
System.out.println("註冊成功!!進入登陸頁面"); //如果呼叫註冊方法沒有出現異常,則會往下執行,進入登陸頁面
System.out.println(Arrays.toString(userNames));
} catch (UsernameException e) {
System.err.println("請重新註冊,原因:"+e.getMessage());//如果呼叫註冊方法出現了異常,則會直接執行catch:重新註冊
}
}
public static void regist(String username) throws UsernameException{
for (String n : userNames) { //遍歷userNames陣列中的每一個元素
if(username.equals(n)){ //把遍歷出來的元素依次與name相比較。 name是使用者註冊的使用者名稱
/*
* 表示使用者名稱重複了,不能往下執行:選擇使用丟擲異常的方式結束當前方法,建議使用自定義異常
* 自己在方法體中拋異常。 使用:throw 異常物件;
* 效果:方法體中使用throw丟擲的異常物件,拋給了當前方法
*/
throw new UsernameException("使用者名稱重複!!");
}
}
//for執行結束if都沒有執行,說明使用者名稱肯定不重複
/*
* 處理方式:把name新增到userNames陣列中
* 步驟 1. 把userNames陣列的容量擴大1個
* 2. 把name賦值給userNames陣列的最後一個元素
*
* copyOf(源陣列,新陣列的長度): 效果:先建立一個指定長度的新陣列,從源陣列中複製所有元素,貼上到新陣列中
* 該方法的返回值 就是 新陣列
*/
userNames = Arrays.copyOf(userNames, userNames.length+1); //把userNames陣列容量擴大一個
userNames[userNames.length-1] = username; //把使用者註冊的使用者寫入userNames陣列中
}
}
/*
* UserException繼承Exception ==》 可以理解為:UserException就是Exception
*/
class UsernameException extends Exception{
public UsernameException(String message){ //給異常資訊賦值
super(message);
}
}
執行結果圖:
相關文章
- Java 異常(二) 自定義異常Java
- Java自定義異常Java
- 自定義異常
- 自定義異常類
- springboot自定義異常Spring Boot
- 2024.10.11(自定義異常)
- restframework 異常處理及自定義異常RESTFramework
- Java自定義異常的建立及多層呼叫Java
- python自定義異常,使用raise引發異常PythonAI
- C#自定義異常 統一異常處理C#
- 異常-自定義異常的實現和測試
- C#規範整理·異常與自定義異常C#
- Java異常處理的兩種方式以及自定義異常的使用方法Java
- 【Django】DRF自定義異常處理Django
- Java入門自定義異常&模擬借書系統Java
- java培訓教程分享:Java中使用者如何自定義異常?Java
- java自定義異常例項1Java
- springboot下新增全域性異常處理和自定義異常處理Spring Boot
- 物件導向 約束、自定義異常、加密物件加密
- Spring Cloud Gateway-自定義異常處理SpringCloudGateway
- Day39--自定義異常及小結
- SpringBoot系列——自定義統一異常處理Spring Boot
- Java之常見異常 整理集合Java
- 好程式設計師Java教程系列之異常定義程式設計師Java
- Spring Cloud Gateway自定義異常處理Exception HandlerSpringCloudGatewayException
- Dubbo 自定義異常,你是怎麼處理的?
- Java之異常處理try{}catch(){}Java
- JAVA學習之異常處理Java
- 如何自定義一個全域性異常捕獲器-SpiderManIDE
- Spring Boot 中關於自定義異常處理的套路!Spring Boot
- 自定義SPI使用JDK動態代理遇到UndeclaredThrowableException異常排查JDKException
- SpringBoot專案實戰(7):自定義異常處理介面Spring Boot
- 中介軟體自定義檢測 JWT 並通過自定義異常丟擲錯誤--筆記JWT筆記
- 【java】異常Java
- java 異常Java
- Java 異常Java
- Java異常Java
- 異常JavaJava