练习使用try catch语句和throw与 throws,因此按照慕课的课程写了一个模拟图书查询系统。定义一个了一个选择错误异常和找不到图书异常
具体代码如下
选择异常
public class ChooseException extends RuntimeException{ //继承运行时异常
public ChooseException() {
}
public ChooseException(String message) {
super(message);
}
}
找不到图书异常
public class Non_existent extends Exception{
public Non_existent() {
}
public Non_existent(String message) {
super(message);
}
}
之后在main方法中尝试直接throw抛出,编译不通过,因为main方法后没加throw,于是在测试类中定义test1()与test2()用来抛出两个异常
public void test1() throws ChooseException{
throw new ChooseException("选择错误");
}
public void test2() throws Non_existent{
throw new Non_existent("找不到图书");
}
在main函数中创建测试类对象,
SimulationLibrary sl = new SimulationLibrary();
在输入时使用java自带的异常对象InputMismatchException来判断是否出现类型不对的,同时创建了多个布尔变量用来控制报错时的循环,并将其放在finally语句中,发现错误,无论是否报错,fianlly都执行,遂删除finally,放在catch语句中。
之后就好办了,只用复制到第二种情况当中,比较字符串时出现异常,
if(choose3 == Book[compare2][1])
就是比较不成功,后来发现是用的变量的引用去对比的,自然是不会成功,于是调用了java的equals方法,成功了。
项目结束
此中经验,熟悉了try catch finnaly语句的用法,和throw与throws的用法,知道了java字符串的比较方法,在demo中还出现了一个死循环的现象,在输入时出的错,重新声明了另一个Scanner对象,解决了,具体原因以后可能会遇见。
java 自定义异常 模拟图书查询系统try catch 使用过程出现的问题和总结
Java异常处理实践
最新推荐文章于 2025-05-15 09:35:57 发布
本文介绍了一个模拟图书查询系统的Java程序,通过自定义异常类(选择错误异常和找不到图书异常),并使用try-catch-finally语句进行异常处理,详细讲解了throw与throws的使用方法,以及如何正确比较Java字符串。
1016

被折叠的 条评论
为什么被折叠?



