0
点赞
收藏
分享

微信扫一扫

Java-异常作业

松鼠树屋 2022-05-05 阅读 73

文章目录


前言

编写程序模拟用户注册;
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语句中的代码一定会执行。

举报

相关推荐

JAVA-异常

Java-程序异常

异常作业详解.

JAVA-概述

java-方法

Java-多态

0 条评论