假设我有以下代码片段:
public boolean checkListing() {
try {
// open the users.txt file
BufferedReader br = new BufferedReader(new FileReader("users.txt"));
String line = null;
while ((line = br.readLine()) != null) {
String[] values = line.split(" ");
// only interested for duplicate usernames
if (username.equals(values[0])) {
return true;
}
}
br.close();
return false;
} catch (IOException e) {
e.printStackTrace();
// what to do here
}
}
如果发生异常,我应该如何处理错误?我想知道它发生了,并将一个500代码返回给用户。
我是否应该抛出异常并在其他类中捕获它?
是否有更优雅的方法来获取反馈?
{result, code, failure reason}
对象进行返回。我更喜欢使用第一种方法,因为它既优雅又实用:在任何执行点上,您都可以获得完整的失败跟踪。finally
块中不要忘记关闭br
,否则失败的序列可能会导致资源泄漏。 - Alex SalauyouFileReader
和BufferedReader
都应该在执行结束时关闭。在我的答案中,我提供了代码片段来自动管理它。 - Alex Salauyou