gpt4 book ai didi

Java 打印编写器 : Why do we handle FileNotFoundException if the file is automatically created if not found?

转载 作者:行者123 更新时间:2023-12-01 07:58:48 25 4
gpt4 key购买 nike

在以下 SSCCE 中,即使我从给定位置/路径(即 "D:\\Eclipse Workspaces\\SAMPLES AND OTHER SNIPPETS)删除此文件,我也不会收到 FileNotFoundException\\SoapCallResults.txt"

相反,如果找不到文件,PrintWriter 似乎会创建该文件。

如果 Printwriter 在找不到文件的情况下创建该文件,为什么我们要尝试处理 FileNotFoundException (如果我们没有用 包围它,编译器会提示>try/catch 或添加 throws 子句)当它永远不会被抛出时?

package com.general_tests;

import java.io.FileNotFoundException;
import java.io.PrintWriter;

public class PrintWriterFileNotFoundExceptionTest {

public static void main(String[] args) {
String myName = "What ever my name is!";
PrintWriter printWriter = null;
try {
printWriter = new PrintWriter("D:\\Eclipse Workspaces\\SAMPLES AND OTHER SNIPPETS\\SoapCallResults.txt");
printWriter.println(myName);
} catch (FileNotFoundException e) {
System.out.println("FILE NOT FOUND EXCEPTION!");
e.printStackTrace();
} finally {
if (printWriter != null) { printWriter.close(); }
}

}

}

最佳答案

FileNotFoundException 是一个已检查异常,它只是意味着您必须捕获它或将其添加到 throws 子句中。

我希望这能回答您关于为什么我们实际上需要它的问题,即使文件不存在也会被创建 -

来自javadoc -

FileNotFoundException - 如果给定的文件对象不表示现有的、可写的常规文件,并且无法创建同名的新常规文件,或者在打开或创建文件时发生其他错误

关于Java 打印编写器 : Why do we handle FileNotFoundException if the file is automatically created if not found?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27016079/

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