學習目標:
掌握自定義異常類例題:
需求:自定義異常類,簡單判斷是否注冊成功
代碼如下:
RegisterException類:
/**
* @author YanYang
* @projectName day02
* @description: 自定義異常類,簡單判斷是否注冊成功
* @date 2021/3/29 17:25
*/
public class RegisterException extends RuntimeException{
// 自定義輸出的異常信息
private String message;
// 無參構造函數
public RegisterException() { }
// 有參構造函數
public RegisterException(String message) {
// 調用父類有參構造方法,輸出信息會用到
super(message);
}
}
ExceptionTest 類:
/**
* @author YanYang
* @projectName day02
* @description: TODO
* @date 2021/3/29 16:53
*/
public class ExceptionTest {
// 模擬數據庫中的用戶id值
static String[] str = {"lala", "xx", "mm"};
public static void main(String[] args) {
try {
// 調用檢查id的方法
checkUserId("xx");
} catch (RegisterException e) {
System.out.println("Exception = " + e.getMessage());
}
}
// 判斷用戶id是否存在,如果存在則拋出異常
public static boolean checkUserId(String uid) throws RegisterException {
// 循環遍歷判斷該用戶id是否被注冊,如果存在則報自定義異常信息,否則執行成功語句
for (String str1 : str) {
if(str1.equals(uid)) {
// 注意:異常只有被捕捉處理后(try...catch)后,沒有新的異常拋出,后面的代碼才會執行
throw new RegisterException("該用戶已存在!");
}
}
System.out.println("注冊成功!");
return true;
}
}
運行效果:
"C:\Program Files\Java\jdk-11.0.9\bin\java.exe" "-javaagent:D:\IDEA\IntelliJ IDEA"
Exception = 該用戶已存在!
Process finished with exit code 0
總結:
以上就是自定義異常類的簡單實現了。