概述

  • 问:为什么需要自定义异常类?
  • 答:业务千变万化,总有些异常是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);
    }
}

本文地址:https://blog.csdn.net/single_0910/article/details/114266773