一、前言

Java已经内置了丰富的异常类,但是并不能完全表示实际开发中遇到的一些异常,此时我们就需要根据自己的需求创建自定义的异常处理类。

二、自定义异常类

实现方式:

1.自定义异常类继承Exception或者RunTimeException。

2.实现一个带有String数据类型的参数的构造方法。

自定义异常:

package day07;

/**
 * @author qx
 * @date 2024/3/6
 * @des 自定义业务异常类
 */
public class ServiceException extends RuntimeException {

    public ServiceException() {
    }

    public ServiceException(String message) {
        super(message);
    }
}

具体使用:

package day07;

import java.util.Arrays;
import java.util.Scanner;

/**
 * @author qx
 * @date 2024/3/6
 * @des 自定义异常示例
 */
public class Demo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入用户名:");
        String username = scanner.next();
        System.out.print("请输入密码:");
        String password = scanner.next();
        if ("admin".equals(username) && "123".equals(password)) {
            System.out.println("登录成功");
        } else {
            // 抛出自定义异常
            throw new ServiceException("用户名或密码错误");
        }
    }
}

执行程序

错误情况

Java自定义异常的认识_自定义异常

正确情况

Java自定义异常的认识_自定义异常_02

注意事项:

  • 自定义异常通常会继承自 Exception 或者 RuntimeException
  • 继承自 Exception 的异常默认是受查异常
  • 继承自 RuntimeException 的异常默认是非受查异常