同时捕获java异常FileNotFound和IOException

2023-11-27

FileNotFoundException 是否是 IOException 的“子异常”?

这是我的代码,打开给定路径处文件的输入流:

   method(){
        FileInputStream fs;
        try {
            fs = new FileInputStream(path);
            //
            fs.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

为什么我可以忽略 FileNotFound 而只捕获 IOException 呢? FNFException 是 IOException 的一部分吗?

如果我在方法中抛出 IOException,而不是捕获异常,会怎样?

    method() throws IOException{

        FileInputStream fs;
        fs = new FileInputStream(path);
        //
        fs.close();

    }

我可以继续在这样的调用方法中捕获 FileNotFoundException 吗?

    try {

         method();

    }catch (FileNotFoundException e1) {}

感谢您能够提供的任何帮助!


FileNotFoundException 是否是 IOException 的“子异常”?

Yes, FileNotFoundException extends IOException:

java.lang.Object
    java.lang.Throwable
        java.lang.Exception
            java.io.IOException
                java.io.FileNotFoundException

为什么我可以忽略 FileNotFound 而只捕获 IOException 呢?

捕获正在抛出的异常的基类将捕获该异常,除非有更具体的catch条款可用。

我可以继续在这样的调用方法中捕获 FileNotFoundException 吗?

绝对地!事实上,这是一件好事:您的代码应该只处理它知道如何处理的异常,并让所有其他异常传播到可以以更好的方式处理的地方。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

同时捕获java异常FileNotFound和IOException 的相关文章

  • JPA 中的复合键

    我想创建一个具有自动生成的主键的实体 而且还有一个由其他两个字段组成的唯一复合键 我如何在 JPA 中执行此操作 我想这样做是因为主键应该用作另一个表中的外键 并且使其复合并不好 在下面的代码片段中 我需要命令和模型是唯一的 pk当然是主键
  • JDK 文档是语言规范的一部分吗?

    只有一名官员Java语言规范 https docs oracle com javase specs jls se8 html index html所有 Java 实现都必须遵守它 API文档怎么样 所有Java实现都需要遵守吗这个版本 ht
  • Spring Security 自定义过滤器

    我想自定义 Spring security 3 0 5 并将登录 URL 更改为 login 而不是 j spring security check 我需要做的是允许登录 目录并保护 admin report html 页面 首先 我使用教
  • 是否可以使用 Flying Saucer (XHTML-Renderer) 将 css 解析为类路径资源?

    我正在尝试将资源打包到 jar 中 但我无法让 Flying Saucer 在类路径上找到 css 我无法轻松构建 URL 来无缝解决此问题 https stackoverflow com questions 861500 url to l
  • 大数据使用什么数据结构

    我有一个包含一百万行的 Excel 工作表 每行有 100 列 每行代表一个具有 100 个属性的类的实例 列值是这些属性的值 哪种数据结构最适合在这里使用来存储数百万个数据实例 Thanks 这实际上取决于您需要如何访问这些数据以及您想要
  • 如何将 Mat (opencv) 转换为 INDArray (DL4J)?

    我希望任何人都可以帮助我解决这个任务 我正在处理一些图像分类并尝试将 OpenCv 3 2 0 和 DL4J 结合起来 我知道DL4J也包含Opencv 但我认为它没什么用 谁能帮我 如何转换成 INDArray 我尝试阅读一些问题here
  • 来自十六进制代码的 Apache POI XSSFColor

    我想将单元格的前景色设置为十六进制代码中的给定颜色 例如 当我尝试将其设置为红色时 style setFillForegroundColor new XSSFColor Color decode FF0000 getIndexed 无论我在
  • 使用 JUnit 时,有没有办法验证测试方法中是否调用了 try/catch 指令的 Catch 部分?

    例如 如果我想测试以下课程 public class SomeClass public void someMethod try Some code where comething could go wrong catch Exception
  • ConcurrentHashMap 内部是如何工作的?

    我正在阅读有关 Java 并发性的 Oracle 官方文档 我想知道Collection由返回 public static
  • 是否可以通过编程方式查找 logback 日志文件?

    自动附加日志文件以支持电子邮件会很有用 我可以以编程方式设置路径 如以编程方式设置 Logback Appender 路径 https stackoverflow com questions 3803184 setting logback
  • 使用 Guice 优化注册表

    你好 今天思考了一种优化 有一些疑问 语境 我正在使用 Guice 2 进行 Java 开发 在我的网络应用程序中 我有一个转换器注册表 可以即时转换为某种类型 转换器描述如下 public class StringToBoolean im
  • Java Swing For mac 中的 DJ Native Swing 浏览器

    我有一个用 Swing 制作的 Java 应用程序 并且使用了一个 DJ Native Swing 浏览器 当我尝试在 OS X 上使用它时 它抛出了一个NoClassDefFoundError尽管我添加了 swt jar 但始终如此 有人
  • 使用架构注册表对 avro 消息进行 Spring 云合约测试

    我正在查看 spring 文档和 spring github 我可以看到一些非常基本的内容examples https github com spring cloud samples spring cloud contract sample
  • 在 SWT/JFace RCP 应用程序中填充巨大的表

    您将如何在 SWT 表中显示大量行 巨大是指超过 20K 行 20 列的东西 不要问我为什么需要展示那么多数据 这不是重点 关键是如何让它尽可能快地工作 这样最终用户就不会厌倦等待 每行显示某个对象的实例 列是其属性 一些 我想使用 JFa
  • 返回 Java 8 中的通用函数接口

    我想写一种函数工厂 它应该是一个函数 以不同的策略作为参数调用一次 它应该返回一个函数 该函数根据参数选择其中一种策略 该参数将由谓词实现 嗯 最好看看condition3为了更好的理解 问题是 它没有编译 我认为因为编译器无法弄清楚函数式
  • 使用布尔值进行冒泡排序以确定数组是否已排序

    我有以下用于冒泡排序的代码 但它根本不排序 如果我删除布尔值那么它工作正常 我知道 由于我的 a 0 小于所有其他元素 因此没有执行交换 任何人都可以帮助我解决这个问题 package com sample public class Bub
  • JMenu 中的文本居中

    好吧 我一直在网上寻找有关此问题的帮助 但我尝试的任何方法似乎都不起作用 我想让所有菜单文本都集中在菜单按钮上 当我使用setHorizontalTextPosition JMenu CENTER 没有变化 事实上 无论我使用什么常量 菜单
  • Android:无法发送http post

    我一直在绞尽脑汁试图弄清楚如何在 Android 中发送 post 方法 这就是我的代码的样子 public class HomeActivity extends Activity implements OnClickListener pr
  • 将 Apache Camel 执行器指标发送到 Prometheus

    我正在尝试转发 添加 Actuator Camel 指标 actuator camelroutes 将交换 交易数量等指标 发送到 Prometheus Actuator 端点 有没有办法让我配置 Camel 将这些指标添加到 Promet
  • 在浏览器刷新中刷新检票面板

    我正在开发一个付费角色系统 一旦用户刷新浏览器 我就需要刷新该页面中可用的统计信息 统计信息应该从数据库中获取并显示 但现在它不能正常工作 因为在页面刷新中 java代码不会被调用 而是使用以前的数据加载缓存的页面 我尝试添加以下代码来修复

随机推荐

  • 在Tensorflow中,获取图中所有Tensors的名称

    我正在创建神经网络Tensorflow and skflow 由于某种原因 我想获取给定输入的一些内部张量的值 所以我使用myClassifier get layer value input tensorName myClassifier成
  • 如何更改 Delphi TGrid Firemonkey 组件中单元格的颜色?

    我使用 TGrid 列中的单元格示例作为示例 组件选项中没有颜色属性 颜色只能通过代码访问 该代码必须放在 绘制列单元格 事件中 但是什么代码是做什么的呢 我尝试使用与 VCL 组件中相同的过程 但 FMX 中的 Tcanvas 不包含画笔
  • 运行 git archive 时忽略 .gitignore

    我有一个包含一堆源代码的 git 存储库 当编译时会生成一堆二进制文件 这些二进制文件都列在相应的 gitignore 文件中 但不包含在存储库中 但是 我想分发我的存储库的源 二进制文件快照 zip 文件 其中包含所有二进制文件 但不包含
  • OpenAI ChatGPT (GPT-3.5) API 错误 429:“您超出了当前配额,请检查您的计划和账单详细信息”[已关闭]

    Closed 这个问题是与编程或软件开发无关 目前不接受答案 我正在制作一个 Python 脚本以通过其 API 使用 OpenAI 但是 我收到此错误 openai error RateLimitError 您超出了当前配额 请检查您的计
  • 为什么默认情况下不启用“downlevelIteration”?

    当针对 ES5 使用扩展运算符时 转换一个Iterator to an Array 它显示使用错误 downlevelIteration编译器选项 一旦启动 点差运算符似乎就可以完美地工作 我想知道为什么需要指定这一点 除了从 tslib
  • 将 PreferenceFragment 添加到 FragmentPagerAdapter

    我正在尝试添加一个PreferenceFragment to a FragmentPagerAdapter 我的班级延长了FragmentActivity 我努力了FragmentTransaction 如下所示以及尝试添加到容器中 但似乎
  • Discord 机器人阅读反应

    我需要实现一些功能 其中之一是实现民意调查类型功能 由于某些政策 无法使用公共不和谐机器人 因此我们必须自己实施一些措施 昨天做了一些研究 能够使用以下命令制作基本的机器人python3 and commandsapi来自discord e
  • ARM NEON:比较 128 位值

    我感兴趣的是找到比较 Cortex A9 内核 允许使用 VFP 指令 上 NEON 寄存器 例如 Q0 和 Q3 中存储的值的最快方法 最低周期数 到目前为止我有以下内容 1 使用VFP浮点比较 vcmp f64 d0 d6 vmrs A
  • 在Java中,如何删除float中的所有0?

    我想这样改变浮动 10 5000 gt 10 5 10 0000 gt 10 如何删除小数点后的所有零 并将其更改为浮点数 如果有非零 或整数 如果只有零 提前致谢 为什么不尝试正则表达式呢 new Float 10 25000f toSt
  • 制作多语言android应用程序

    我创建了多语言 英语 俄语 乌兹别克语 应用程序 我将 4 个字符串资源放入 4 个文件夹 values values en values ru values uz 中docs 当我更改应用程序语言时 会更新应用程序控制器中的资源配置 如下
  • 在现有文档的特定位置插入 XML 节点

    我有一个包含一些可选节点的现有 XML 文档 我想插入一个新节点 但在某个位置 该文档看起来像这样
  • 自动映射器和不变性

    是否可以将 AutoMapper 与不可变类型一起使用 例如 我的域类型是不可变的 我想将我的视图类型映射到此 我相信不是 但只是想确认这一点 此外 由于最佳实践是让域类型不可变 因此将视图类型映射到域类型时的最佳实践是什么 我通常会手动进
  • Webpack:大小超出建议限制 (244 KiB)

    这是有问题的分支和存储库 https github com Futuratum moon holdings tree dev 您好 我遇到了这个问题 因为我有一个包含大量图像的资产文件夹 我不在乎大小 这对于现代网络用户来说应该是正常的 我
  • PHP 命令行界面出现奇怪的 5 秒停顿(与 mysql/mysqli 扩展有关)

    从命令行 PHP 客户端 Windows 上的 PHP 5 2 执行 PHP 脚本时 我遇到了奇怪的 5 到 7 秒的暂停 在此暂停期间 PHP 脚本似乎 冻结 了一段时间 然后返回到命令提示符 它没有使用任何重要的 CPU 时间 就好像它
  • 使用 java 向 WebService 发出 SOAP 请求

    我对如何通过 java 向 Web 服务发出请求有点困惑 目前我唯一了解的是 Web 服务使用 xml 结构化消息 但我仍然不太明白如何构建我的请求
  • Java 的类型擦除有什么好处?

    我读了一篇tweet今天说 当 Java 用户抱怨类型擦除时 这是很有趣的 这是 Java 唯一正确的事情 而忽略了它出错的所有事情 因此我的问题是 Java 的类型擦除有好处吗 除了向后兼容性和运行时性能方面的 JVM 实现偏好之外 它
  • 错误:ENOENT:express-handlebars 中没有此类文件或目录

    我在用express handlebars在 NodeJS 中加载动态内容 inside app js const express require express const bodyParser require body parser c
  • 嵌入式系统上运行的Java VM推荐

    我们正在尝试在我们的嵌入式平台 700 MHzMIPS 74K 128 256 MB 内存 读完这篇文章后article谷歌搜索了一下 我想出了入围名单 Sun 的 Java ME Kaffe Jbed Perc HP Chai 虚拟机 P
  • 如何在不刷新页面的情况下将新的 HTML 数据从服务器推送到浏览器

    我见过许多网站 例如 Facebook 或 Stack Overflow 它们会在生成新数据时更新某些功能 例如帖子上的新答案 假设博客中添加了一篇新帖子 并且当时有人在博客中查看它 其想法是自动将新帖子添加到博客中 而无需刷新或让用户执行
  • 同时捕获java异常FileNotFound和IOException

    FileNotFoundException 是否是 IOException 的 子异常 这是我的代码 打开给定路径处文件的输入流 method FileInputStream fs try fs new FileInputStream pa