当注册的姓名重复时,会输出一个自定义异常
1.首先创建 一个自定义异常,代码如下:
package a;
public class RegisterException extends Exception{//自定义异常
//默认构造方法
public RegisterException(){}
//有参构造方法
public RegisterException(String mgs){
super(mgs);
}
}
2.创建一个检查类Check ,里面定义检查方法,代码如下:
package a;
public class Check {
public void check(String[] user,String name) throws RegisterException{//throws抛出异常序列
//该方法本身没有对异常进行捕获处理(方法体内没有异常处理的语句),在调用该方法时就需要对异常进行捕获处理。
for(int i=0;i<user.length;i++){
if(user[i].equals(name)){
throw new RegisterException("用户名已被注册");//抛出一个异常对象
}
}
System.out.println("注册成功!");
}
}
3.创建测试类test,代码如下
package a;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
String[] u ={"小明","小红","小兰"};
Scanner sc=new Scanner(System.in);
System.out.println("请输入注册的名字:");
String n=sc.next();
Check c=new Check();
try {
c.check(u, n);//调用check方法,处理异常,也可以继续向上抛出异常,交给JVM处理
} catch (RegisterException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
测试结果: