一、前言
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("用户名或密码错误");
}
}
}
执行程序
错误情况
正确情况
注意事项:
- 自定义异常通常会继承自
Exception
或者RuntimeException
- 继承自
Exception
的异常默认是受查异常 - 继承自
RuntimeException
的异常默认是非受查异常