在Java中的异常类型不够我们使用,我们可以自定义异常类型并使用。
在这里我们定义一个弹出消息错误的异常类型。
/**
*Java自定义异常信息
* @author jianyeli
*/
public class RegisterException extends Exception {
public RegisterException(){
}
public RegisterException(String s){
super(s);
}
}
模拟一个虚拟机,用户输入自己的姓名,如果姓名存在,则弹出异常,若不存在,则添加成功。
import java.util.Scanner;
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
*题目要求:模拟一个注册虚拟机,用户输入姓名,如果存在,则弹出异常,没有,注册成功。
* 分析:用数组保存姓名
* 使用Scanner让用户输入自己的姓名
* 定义一个方法,做出判断
* @author jianyeli
*/
public class TestRegisterException {
static String[] array = {"李建业","李四","张三","李华","李明"};
//使用数组把姓名存储起来
public static void main(String[] args) throws RegisterException {
Scanner sc = new Scanner(System.in);
System.out.println("Please input your name");
String username = sc.next();
//用户输入自己的名字
checkUsername(username);
}
public static void checkUsername(String username) throws RegisterException{//这里使用throws处理异常,也可以(try …… catch)
for(String name : array){
if (name.equals(username)){
throw new RegisterException("姓名已存在");
}
}
}
}