学习目标:
掌握自定义异常类例题:
需求:自定义异常类,简单判断是否注册成功
代码如下:
RegisterException类:
/**
* @author YanYang
* @projectName day02
* @description: 自定义异常类,简单判断是否注册成功
* @date 2021/3/29 17:25
*/
public class RegisterException extends RuntimeException{
// 自定义输出的异常信息
private String message;
// 无参构造函数
public RegisterException() { }
// 有参构造函数
public RegisterException(String message) {
// 调用父类有参构造方法,输出信息会用到
super(message);
}
}
ExceptionTest 类:
/**
* @author YanYang
* @projectName day02
* @description: TODO
* @date 2021/3/29 16:53
*/
public class ExceptionTest {
// 模拟数据库中的用户id值
static String[] str = {"lala", "xx", "mm"};
public static void main(String[] args) {
try {
// 调用检查id的方法
checkUserId("xx");
} catch (RegisterException e) {
System.out.println("Exception = " + e.getMessage());
}
}
// 判断用户id是否存在,如果存在则抛出异常
public static boolean checkUserId(String uid) throws RegisterException {
// 循环遍历判断该用户id是否被注册,如果存在则报自定义异常信息,否则执行成功语句
for (String str1 : str) {
if(str1.equals(uid)) {
// 注意:异常只有被捕捉处理后(try...catch)后,没有新的异常抛出,后面的代码才会执行
throw new RegisterException("该用户已存在!");
}
}
System.out.println("注册成功!");
return true;
}
}
运行效果:
"C:\Program Files\Java\jdk-11.0.9\bin\java.exe" "-javaagent:D:\IDEA\IntelliJ IDEA"
Exception = 该用户已存在!
Process finished with exit code 0
总结:
以上就是自定义异常类的简单实现了。