欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java之自定义异常

程序员文章站 2022-07-08 15:36:28
概述问:为什么需要自定义异常类?答:业务千变万化,总有些异常是java语言没有定义好的,这时候就需要自定义异常。比如年龄负数的问题,比如性别问题等等等等。如何自定义异常自定义编译异常: 继承java.lang.Exception。自定义运行异常: 继承java.lang.RuntimeException。简单演示模拟注册操作,如果用户名已存在,则抛出异常并提示:亲,账号【】已经被注册。代码示例:public class Demo01 { // 模拟数据库中已存在的账号...

概述

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