gpt4 book ai didi

java - 我可以错过 catch 子句来向其调用者抛出异常吗?

转载 作者:行者123 更新时间:2023-12-01 23:52:46 25 4
gpt4 key购买 nike

这段代码可能会出现什么样的问题?我认为即使发生异常,这段代码也可以将异常抛出给它的调用者。所以它不会产生任何麻烦。

我该如何改进它?

public static void cat(File named) {
RandomAccessFile input = null;
String line = null;
try {
input = new RandomAccessFile(named, “r”);
while ((line = input.readLine()) != null {
System.out.println(line);
}
return;
} finally {
if (input != null) {
input.close();
}
}
}

最佳答案

代码必须抛出 IOException - 尝试使用 eclipse 编辑代码,您还会得到抛出异常的建议。

Java 1.7 还具有新概念“try-with-resources” - 请参阅下面的 try 语句。try(...)中使用的资源会自动关闭。

public static void cat(File named) throws IOException
{
try (RandomAccessFile input = new RandomAccessFile(named, "r"))
{
String line = null;
while ((line = input.readLine()) != null)
{
System.out.println(line);
}
}
}

关于java - 我可以错过 catch 子句来向其调用者抛出异常吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16118432/

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