gpt4 book ai didi

java - 为什么 FileWriter 和 FileOutputStream 有不同的异常?

转载 作者:搜寻专家 更新时间:2023-11-01 02:52:19 24 4
gpt4 key购买 nike

FileWriter 的 Java 7 文档和 FileOutputStream说明FileWriter的构造函数抛出IOException,而FileOutputStream的构造函数抛出FileNotFoundException。

这两个异常(exception)的原因是一样的。它说,“如果文件存在但是目录而不是常规文件,不存在但无法创建,或者由于任何其他原因无法打开”

如果是这样,那么为什么 FileOutputStream 的特殊异常和 FileWriter 的一般异常是由 Java 创建者决定的?

最佳答案

  1. FileWriter 扩展 OutputStreamWriter,其构造函数抛出 UnsupportedEncodingException
  2. 如果您查看 FileWriter 的实现,它使用 FileOutputStream 并抛出 FileNotFoundException

因为 FileWriter 构造函数现在可以抛出这些异常中的任何一个,它被声明为抛出 IOException,它是这两个异常的公共(public)父类(super class)。 (或者,它可以声明为抛出两个单独的异常。)

关于java - 为什么 FileWriter 和 FileOutputStream 有不同的异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8982656/

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