自定义的异常、自定义异常类的练习
自定义的异常
自定义异常:java提供的异常类,不够我们使用,需要自定一些异常类
格式:public class xxxExcepiton extends Exeption / RuntimeExcetion
添加一个空参数的构造方法
添加一个带异常信息的构造方法
注意:自定义异常类一般都是Excetion结尾,说明该类时一个异常类
自定义异常类,必须的继承Excetion或者RuntimeExcetion
继承:Excetion,那么自定义异常就是一个编译期异常,如果方法内部抛出编译期异常就必须处理这个异常要不throws要不 try...catch
继承:RuntimeExcetion那么自定义的异常类就是一个运行期的异常,无需处理,交给虚拟机处理
案例:
public class Ex3 extends Exception {
// 添加一个空参数的构造方法
public Ex3(){
super();
}
}
自定义异常类的练习
要求:我们模拟注册,如果用户存在,则抛出异常提示:亲,该账户已经存在;
分析:使用数组,保存经过注册过的用户名
使用Scanner获取用户输入的注册用户
定义一个方法,对用户输入的用户名字进行判断
遍历已经注册过用户名的数组,获取每一个用户名
使用获取的用户名和用户输入的用户名比较进判断
true:用户名字已经存在,抛出RuntimeExcetion异常,告知:该用户已经被注册
false:继续遍历比较
如果循环结束了,还是没有找到重复的 那么是提示:注册成功!
案例:
public class LianxiEx {
// 先定义已经被注册过的
static String[] arr ={"张三","李四","王五"};
public static void main(String[] args) throws ReflectiveCopyException {
System.out.println("输入的用户名:");
Scanner sc = new Scanner(System.in);
String next = sc.next();
cha(next);
}
public static void cha(String username) throws ReflectiveCopyException {
for (String s : arr) {
if (s.equals(username)) {
throw new ReflectiveCopyException("该户已经存在!");
}
}
System.out.println("注册成功!");
}
}
看打印输出:
在输入一个没有被注册过的:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY