gpt4 book ai didi

java - 抛出异常时java扫描器是否关闭?

转载 作者:行者123 更新时间:2023-12-03 23:11:31 26 4
gpt4 key购买 nike

如果我有一个抛出 FilenotFoundException 的方法,因为我正在使用 Scanner 对象读取文件,如果错误确实被抛出,扫描器对象是否关闭,或者我仍然必须在处理异常时这样做?

我知道当我在我的方法中使用 try-catch-finally block 写入来处理异常时,我关闭了扫描器对象,但是如果我必须在另一个捕获异常的对象的方法中执行它,我将无权访问扫描仪对象。

请保持解释简单...显然我是 java 的新手(和一般的 OO)。

最佳答案

如果你使用这样的代码扫描仪 scanner = new Scanner(new File("C:/abc.txt"));如果它抛出异常,它自己的scanner对象将不会被创建,所以不需要关闭它。

但最好的编码方式如下所示。你可以在 finally block 中关闭。

Scanner scanner=null;
try
{
scanner = new Scanner(new File(path));
//your code here
}
catch(FileNotFoundException e)//either catch or throw out
{
//log it
}
finally
{
if(null !=scanner)
{
scanner.close();
}
}

关于java - 抛出异常时java扫描器是否关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26627439/

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