文章目录
前言
编写程序模拟用户注册;
1、程序开始执行时,提示用户输入“用户名”和“密码”信息。
2、输入信息之后,后台Java程序模拟用户注册。
3、注册时用户名要求长度在[6-14]之间,小于或者大于都表示异常。
一、代码实现
1、IllegalNameException类
public class IllegalNameException extends Exception {
public IllegalNameException() {
}
public IllegalNameException(String s){
super(s);
}
}
首先定义一个自己的异常类IllegalNameException继承自Exception,类里面生成无参和有参的构造方法。
2、UserService类
public class UserService {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public void register(String username, String password) throws IllegalNameException{
if (username.length()>=6&&username.length()<=14){
this.setUsername(username);
}else {
throw new IllegalNameException("用户名长度为[6-14]之间,您输入的格式不正确,请重新输入");
}
this.setPassword(password);
System.out.println("注册成功");
}
}
UserService类用来处理用户相关的业务,这里就定义了一个用户注册的方法,还定义了两个实例变量,有参无参构造方法,set和get方法。主要讲一下register方法,这个方法用来完成用户的注册,传入两个字符串username和password。如果username长度在[6,14]之间就调用set方法给username赋值;否则就抛出异常。抛出异常后面的代码是不执行的。
3、UserTest类
import java.util.Scanner;
public class UserTest {
public static void main(String[] args) {
UserService u = new UserService();
Scanner s = new Scanner(System.in);
while (u.getUsername()==null){
System.out.println("请输入用户名");
String username = s.next();
System.out.println("请输入密码");
String password = s.next();
try {
u.register(username, password);
} catch (IllegalNameException e) {
//e.printStackTrace
System.out.println(e.getMessage());
}
}
}
}
UserTest是一个测试类,new一个UserService对象和Scanner对象,打印一些提示信息提示用户输入,变量username和password分别接收用户输入的用户名和密码。再利用try…catch…语句来捕捉异常,try中就是调用register方法完成用户注册,如果用户名不合法catch就会捕捉异常,然后可以调用getMessage或者printStackTrace方法将异常信息打印出来,以便调用者去处理异常。
然后这里我使用了一个while循环,来帮助用户完成注册,如果用户名没有被注册成功,系统会让用户重新注册,直到用户注册成功。
二、运行结果
请输入用户名
jack
请输入密码
123
用户名长度为[6-14]之间,您输入的格式不正确,请重新输入
请输入用户名
jackson
请输入密码
123
注册成功
Process finished with exit code 0
总结
Java的异常机制,能够使我们编写的代码更加健壮。运行时异常编写程序时不需处理,因为发生的概率很低。编译时异常编写程序时需要处理。通常异常处理我们采用两种方式:1、在方法声明的位置,使用throws关键字,抛给上一级。2、使用try…catch…语句进行异常的捕捉 。异常一般在main方法中使用try…catch…进行处理。
注意:
只要异常没有捕捉,采用上报的方式,此方法的后续代码不会执行。try语句中的某一行异常,该行后面的代码不会执行。finally语句中的代码一定会执行。