要求:模拟注册操作,若用户名重复,则抛出异常“用户名重复”。
定义一个用户类
package DemoException;
public class Users {
private String usersName;
private int usersAge;
public String getUsersName() {
return usersName;
}
public int getUsersAge() {
return usersAge;
}
public void setUsersName(String usersName) {
this.usersName = usersName;
}
public void setUsersAge(int usersAge) {
this.usersAge = usersAge;
}
public Users() {
}
public Users(String usersName, int usersAge) {
this.usersName = usersName;
this.usersAge = usersAge;
}
}
主方法
package DemoException;
import java.util.ArrayList;
public class DemoException {
public static void main(String[] args) {
ArrayList<Users> usersList = new ArrayList<Users>();
usersList.add(new Users("张三", 12));
usersList.add(new Users("李四", 13));
Users newUsers = new Users("张三", 12);
try {
for (Users i : usersList) {
if (newUsers.getUsersName() == i.getUsersName()) {
throw new SeamUsersNameException("用户名重复");
}
}
usersList.add(newUsers);
} catch (SeamUsersNameException e) {
System.out.println(e);//也可用e.printStackTrace();
}
for (Users i : usersList) {
System.out.println("Users name is " + i.getUsersName() + ",Whose age is " + i.getUsersAge());
}
}
}
//异常类
class SeamUsersNameException extends RuntimeException {
public SeamUsersNameException(String message) {
super(message);
}
public SeamUsersNameException() {
}
}
结果
DemoException.SeamUsersNameException: 用户名重复
Users name is 张三,Whose age is 12
Users name is 李四,Whose age is 13