什么时候您更愿意声明异常而不是在 Java 中处理异常?

2023-12-31

我知道如果我们希望调用方法处理该异常,则可以为该方法声明异常。如果封闭方法抛出 IOException,这甚至允许我们执行诸如写入 OutputStream 之类的操作,而无需将代码包装在 try/catch 块中。

我的问题是:任何人都可以提供一个通常在您希望调用方法而不是当前方法处理异常的情况下完成的实例吗?

编辑:我的意思是在最后一行调用方法而不是超类。


一般来说,我会说设计你的异常流程,以便异常被实际可以采取适当操作的代码捕获.

这通常意味着在“库”方法(或者大型项目中的某种通用实用方法)中,您将抛出异常而不是捕获它们。

另一方面,如果您发现自己声明的方法抛出了一个您认为在实践中几乎不会发生的异常(例如,序列化通常涉及各种在实践中不会发生的虚假检查异常,例如如果您要反序列化 Integer,Integer 类确实不太可能不存在,但您仍然必须捕获适当的异常),那么您还有第三种选择,即重新转换为 RuntimeException。

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

什么时候您更愿意声明异常而不是在 Java 中处理异常? 的相关文章

随机推荐

  • git add * 不添加已删除的文件

    我有一个本地目录 我在其中初始化了 git 我已使用以下命令在 git 中添加了该目录的所有文件 git add 现在 如果我从本地目录手动删除文件 我也想从 github 中删除它 我努力了 git add A 但这不起作用 每次我也必须
  • 如何使用jdbcTemplate在IN子句中传递列表参数[重复]

    这个问题在这里已经有答案了 我想在 mysql 查询中使用 jdbcTemplate 在 IN 子句中传递列表值 就像下面这样 List
  • 使用 Oracle 11g 客户端连接到 Oracle 19C 服务器

    all 我正在尝试连接到 Oracle 19C 数据库 我安装了两个 Oracle 客户端 11g 和 12c 因为我们需要支持遗留程序 我可以通过 12c 客户端使用 sqlplus 与任何用户进行连接 没有任何问题 但是如果我对任何用户
  • Ransack搜索,如何通过分割输入搜索参数来搜索每个单词

    我目前正在尝试使用ransack gem在 Rails 中对模型进行搜索 就目前情况而言 我正在使用基本设置 控制器 def index q Person search params q people q result distinct g
  • 枚举网络共享

    net 框架是否有一部分可以枚举主机上的文件共享 我发现了一些使用 WMI 的东西 但我不想走那条路 您可以使用 NetShareEnum win32 api http www pinvoke net default aspx netapi
  • 在 TensorFlow 中修改恢复的 CNN 模型的权重和偏差

    我最近开始使用 TensorFlow TF 遇到了一个需要帮助的问题 基本上 我已经恢复了预先训练的模型 并且在重新测试其准确性之前 我需要修改其中一层的权重和偏差 现在 我的问题如下 我怎样才能使用改变权重和偏差assignTF 中的方法
  • 如何提供使用 fs.readFile 读取的文件

    我正在使用 Node js 开发一个应用程序 我必须读取服务器上的本地文件 我正在使用此功能 fs readFile path utf8 function err data 我如何向客户提供 数据 最好在新选项卡中打开它或在客户端上下载它
  • 如何仅在协程完成后才继续执行该功能?

    void Generate StartCoroutine FallDelayCoroutine print time3 Time time IEnumerator FallDelayCoroutine print time1 Time ti
  • 相当于 MySQL 中的 MSSQL IDENTITY 列

    MSSQL 相当于什么IDENTITYMySQL 中的列 我如何在 MySQL 中创建这个表 CREATE TABLE Lookups Gender GenderID INT IDENTITY 1 1 NOT NULL GenderName
  • 如何在 .send_keys() 中的字符之间进行延迟

    我正在自动化一个在线应用程序 并试图使每个 send keys 更加真实 而不是仅仅用 猛击文本字段 电子邮件受保护 cdn cgi l email protection 立即 我喜欢击键之间有一点延迟 这样看起来就像是人在打字 而不是机器
  • 将字符串转换为数组或对象

    是否可以将此字符串转换为数组或对象 它不是有效的 stringify JSON 数据 不知道如何解决这个问题 subject Test Comment message Test Message 预先感谢 像这样 JSON parse sub
  • 从输入框获取img src到div中

    我这个小项目背后的想法是让用户输入 img 的 URL 当用户点击按钮时 img 应该被插入到新的 div 页面内 我尝试在 stackoverflow 上寻找几个小时 但老实说 我不明白如何对我自己的代码使用其他答案 大部分 CSS 和
  • 值和引用类型

    我知道JavaScript中有6种数据类型 JavaScript 中的 引用 类型是什么 JavaScript 中的 值 数据类型是什么 有人可以按这两个类别列出它们吗 undefined null number string boolea
  • PHP 扩展未通过 httpd 找到,但可以从 CLI 找到,具有相同的 php.ini

    我想在安装 PHP 7 1 和 Apache 2 4 后在我的 Windows 7 上使用它的一些扩展 我编写了一个小测试脚本index php调用给定扩展的某些功能
  • .htaccess php 重写

    我在将 authentication view profile user username 重写为 myurl com profil username 时遇到问题 现在我的 htaccess 文件是 RewriteEngine On Rew
  • Outlook VBA Mailitem 属性 SenderEmailAddress 未正确返回地址

    因此 我在 access 中有一个程序 可以让用户选择要导入到表中的 Outlook 文件夹 然后可以从组合框中选择并传输到表单以供使用 但是 我对返回的值之一有疑问 SenderEmailAddress 实际上并没有给我一个电子邮件地址
  • Android 11 (R) 查询 ACTION_IMAGE_CAPTURE 意图时返回空列表

    设备 模拟器 Pixel 3a Android 11 Code final List
  • AFNetworking - 如何为一个键指定多个值

    我正在尝试使用 AFHTTPClient 方法 postPath 将一个参数键的多个值传递给 HTTP 请求 但是 参数变量是 NSDictionary 因此我无法为我的键 email 设置多个值 我尝试将电子邮件值作为逗号分隔的字符串发送
  • 如何从 PDF 文件中提取页面? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 是否有任何 Perl 脚本可以从 PDF 文件获取页面并将其转换为另一个 PDF 文件 您要求 Perl 所以这是一个很好的解决方案CAM
  • 什么时候您更愿意声明异常而不是在 Java 中处理异常?

    我知道如果我们希望调用方法处理该异常 则可以为该方法声明异常 如果封闭方法抛出 IOException 这甚至允许我们执行诸如写入 OutputStream 之类的操作 而无需将代码包装在 try catch 块中 我的问题是 任何人都可以