Java自定義異常類的簡單實現


學習目標:

掌握自定義異常類

例題:

需求:自定義異常類,簡單判斷是否注冊成功

代碼如下:

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

總結:

以上就是自定義異常類的簡單實現了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM