java之自定义异常

概述

  • 问:为什么需要自定义异常类?
  • 答:业务千变万化,总有些异常是java语言没有定义好的,这时候就需要自定义异常。比如年龄负数的问题,比如性别问题等等等等。

如何自定义异常

  • 自定义编译异常: 继承java.lang.Exception
  • 自定义运行异常: 继承java.lang.RuntimeException

简单演示

模拟注册操作,如果用户名已存在,则抛出异常并提示:亲,账号【】已经被注册。

代码示例:

public class Demo01 {
    // 模拟数据库中已存在的账号
    private static String[] names = {"IronMan","spiderMan",};

    public static void main(String[] args) {
        try{
            //checkUsername("Layman");
            checkUsername("spiderMan");
            System.out.println("注册成功");
        }catch(RegisterException e){
            e.printStackTrace();
        }
    }
    /**
     * 验证注册的账号是否存在
     */
    public static boolean checkUsername(String username) throws RegisterException {
        for (String name : names) {
            if(name.equals(username)){
                throw new RegisterException("亲,账号【"+ username+ "】已经被注册了!");
            }
        }
        return true;
    }
}
//自定义编译异常
class RegisterException extends Exception {

    //空参构造
    public RegisterException() {
    }

    //有参构造
    public RegisterException(String message) {
        super(message);
    }
}
posted @ 2021-03-02 18:27  layman~  阅读(36)  评论(0编辑  收藏  举报