异常作业详解.

一、异常作业

1编写程序模拟用户注册:
 1、程序开始执行时,提示用户输入"用户名"和密码"信息。
 2、输入信息之后,后台java程序模拟用户注册。
 3、注册时用户名要求长度在[6-14]之间,小于或者大于都表示异常。

注意:
完成注册的方法放到一个单独的类中。
异常类自定义即可。
class UserService {
public void register (String username , String password) {
//这个方法中完成注册!
编写main方法,在main方 法中接收用户输入的信息,在main方法
中调用UserService的register方法完成注册。

代码演示如下:

用户业务类:注册功能

package com.bjpowernode.javase.exception.homework;
// 用户业务类,处理用户相关的业务:例如登录、注册等功能
// 注册功能
public class UserService {

    // 无参构造方法
    public UserService() {
    }

    // 注册功能
    public void register(String name,String password) throws UserException{
        // 注册时用户名要求长度在[6-14]之间,小于或者大于都表示异常。
        /*
           注意【经验1】: 等于null的情况最好放在第一位 因为 name.length()<6 || null==name 这样的话会先判断是否小于6 才判断是否为null (就怕name为空 会出现空指针异常)
            // 所以把先判断是否为null放在最前面
             【经验2】: 写成null==name 不写成name==null (因为怕咱们自己手误写成name=null 那么就会把null赋值给name 后面判断会出现空指针异常)
             // 写成null==name 当我们出错成null =name时候 会把name赋值给null不会出现特殊的错误
         */
        if (null==name || name.length()<6 || name.length()>14){  // name为字符串 length()是字符串中的length方法 不是数组中的length属性
            // 抛出异常
            throw new UserException("用户名不规范,长度必须在【6-14】之间~");
        }
        System.out.println("用户"+name+"注册成功~");
    }
}

创建异常类:

package com.bjpowernode.javase.exception.homework;
// 创建异常类
public class UserException extends Exception {
    public UserException() {
    }

    public UserException(String message) {
        super(message);
    }
}

代码测试:

package com.bjpowernode.javase.exception.homework;

// 代码测试
public class ExceptionTest16 {
    public static void main(String[] args) {
        // 这里直接进行测试 (没在控制台输入用户名和密码)

        // 调用注册功能
        UserService s =new UserService();
        try {
            s.register("junker","9");
        } catch (UserException e) {     // 当输入的用户名格式不正确的时候就会捕捉到异常提示打印出来信息
            // 打印异常追踪堆栈信息
            e.printStackTrace();
        }
    }
}

输出结果:

 用户名格式输入不正确时打印出来的异常信息如下所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值