gpt4 book ai didi

java - 当我想要抛出异常时退出程序的最佳方法是什么?

转载 作者:IT老高 更新时间:2023-10-28 20:37:42 25 4
gpt4 key购买 nike

我正在编写一个读取单词文件的 Java 程序。程序主要依赖于这个文件,所以我真的希望程序在读取文件时无论出于何种原因出现 IOException 时结束。

结束程序的最佳方式是什么?我想我被迫将我的文件读取包围在一个 try/catch block 中,所以我应该在我的 catch 中添加一个 System.exit(0) 吗?例如,我应该执行以下操作吗?

try {
BufferedReader br = new BufferedReader(new FileReader("myfile.txt"));
String line;
while ((line = br.readLine()) != null) {
// process...
}
} catch(IOException e) {
System.out.println("Error: " + e);
System.exit(0); // ???
}

最佳答案

如果让异常一直传播到 main() 方法,程序将结束。无需调用System.exit,只需让异常自然地冒泡(通过添加throws IOException)到必要的方法中。

编辑:正如@Brian 指出的那样,您可能希望在 main 方法中捕获 IOException,并在那里调用 System.exit相反,提供人类可读的错误消息(堆栈跟踪会吓到人们)。此外,正如@MeBigFatGuy 所说,从代码堆栈内部调用 System.exit 是不好的做法,并且会限制代码的可重用性。如果您必须使用 System.exit,请将其保留在 main 方法的主体内。

关于java - 当我想要抛出异常时退出程序的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6171265/

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