gpt4 book ai didi

java - 添加 throws 声明或用 try catch 包围

转载 作者:行者123 更新时间:2023-11-29 07:43:54 24 4
gpt4 key购买 nike

我有一个读取文件的非常简单的程序。 eclipse 要求我添加 throws 声明或用 try catch 包围。哪一个是“合适的”。以及如果我已经在方法级别 try catch ,为什么还必须拥有其中的任何一个?

public static void main(String[] args) throws IOException {
String filepath = "xxxxx";
readFile(filepath);


}
OR

public static void main(String[] args) {
String filepath = "xxxxx";
try {
readFile(filepath);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}


private static void readFile(String path) throws IOException {

BufferedReader br = new BufferedReader(new FileReader(path));
try {
StringBuilder sb = new StringBuilder();
String line = br.readLine();

while (line != null) {
//do something
}
} finally {
br.close();
}

}

最佳答案

最简单的答案通常是最好的:

如果它是您的程序逻辑 > 最高调用者,请使用 try/catch

如果是提供方法或库,请使用 throws > 只是许多步骤中的一个。

在库的情况下,您可能还想在您获得的异常周围包装一个特定于库的异常。

最好查看有关异常的 Oracle 文档页面: http://docs.oracle.com/javase/tutorial/essential/exceptions/index.html

关于java - 添加 throws 声明或用 try catch 包围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27534179/

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