写一个创建管理员和用户未登录异常自定义异常
时间: 2024-03-27 16:41:02 浏览: 13
好的,以下是创建管理员和用户未登录异常的自定义异常类的示例代码:
```java
public class UnauthorizedException extends RuntimeException {
public UnauthorizedException(String message) {
super(message);
}
public static class AdminUnauthorizedException extends UnauthorizedException {
public AdminUnauthorizedException() {
super("管理员未登录!");
}
}
public static class UserUnauthorizedException extends UnauthorizedException {
public UserUnauthorizedException() {
super("用户未登录!");
}
}
}
```
在这个自定义异常类中,我们定义了一个 `UnauthorizedException` 类,它继承自 `RuntimeException` 类。然后,我们又定义了两个内部类 `AdminUnauthorizedException` 和 `UserUnauthorizedException`,它们都继承自 `UnauthorizedException` 类,分别表示管理员未登录和用户未登录的异常情况。
在实际使用时,我们可以根据需要抛出这两个异常类中的其中一个,例如:
```java
public void createAdmin(String username, String password) {
// 如果当前用户不是管理员,则抛出管理员未登录的异常
if (!currentUser.isAdmin()) {
throw new UnauthorizedException.AdminUnauthorizedException();
}
// 创建管理员账号的逻辑
}
```
在上面的代码中,我们在创建管理员账号之前,先判断当前用户是否是管理员,如果不是,则抛出 `AdminUnauthorizedException` 异常;如果是,则执行创建管理员账号的逻辑。这样,我们就可以通过自定义异常来处理管理员和用户未登录的情况,使代码更加清晰易读。