gpt4 book ai didi

java - 学习尝试/捕捉的问题

转载 作者:行者123 更新时间:2023-12-01 16:39:42 25 4
gpt4 key购买 nike

我目前正在上一门Java课程,试图学习如何捕获异常。在这种情况下,我有一个输入文件,只允许包含某些符号,并且必须包含一个目标和一个起点。我在单独的类构造函数中检查了所有这些内容,并希望仅告诉用户错误了,请使用try / catch告诉用户他做错了什么。

    while(scanner.hasNext()){
temp = scanner.nextLine();
try {
testString(temp);
}
catch (/*Don't know what to catch*/){
System.out.println("Input file contains unvalid input");
}
mazeData.add(row, temp);
row++;
}
try{
containStartAndGoal();
}
catch(/*Dont know what to catch?*/){
System.out.println("Input file have either no goal or start!");
}


目前这是我的问题,我尝试使用IOExecption,但这似乎不起作用。如果我仅使用Execption,则每次尝试调用此方法时都需要捕获它。我在测试程序和主程序中都这样做。我在这里尝试了尽可能多的阅读,但似乎不了解我应该做的事情。如果我不把东西丢在别的地方,我能不能尝试?当输入文件不正确时,我应该使用哪种执行方式?仅仅因为它们存在,我们才真正获得关于这些在学校中如何工作的任何信息。

最佳答案

在两个catch块中,您只不过是打印一条消息而已。这是一个常见的错误,导致许多问题被隐藏。

如果您无法处理它,只需将其再次抛出即可。

如果您无能为力,程序无法从异常中恢复,则应删除所有try...catch语句,并仅将throws ...(其中...表示相应的异常)放入方法签名。

关于java - 学习尝试/捕捉的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61886487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com