Java中抛出匿名异常

2024-03-08

在 Java 中,即使只是在抛出时声明了异常,也有可能抛出任何异常,如下例:

import org.springframework.dao.DataAccessException;

 // DataAccessException - is abstract class

 } catch (DataAccessException dae) {
      throw new DataAccessException("Exception while executing SQL: \n" + sql
            +    "\nparams: " + paramsToString(params), dae) {
                          private static final long serialVersionUID = 1L;
      };
 } 

请分享您的想法,这种方法有多好或多坏。

扩展 RuntimeException (这不是抽象的)同样的问题并立即抛出它。


请分享您的想法,这种方法有多好或多坏。

应该是合法的……根据我对Java语言的理解。

我认为从功能角度来看这是没有意义的。调用者仍然必须捕获您创建其匿名子类型的基本异常。而且它不像匿名子类的名称传达任何有用的信息......

我认为从代码可读性和可维护性的角度来看是不好的。它毫无理由地晦涩难懂,而且我看不出有任何有用的效果。

并且存在这样的风险:做一些奇怪的事情可能会破坏一些东西……例如调试器、源代码分析器或 Java 链中的其他工具。


总而言之,这是一个坏主意,没有任何可取之处。

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

Java中抛出匿名异常 的相关文章

随机推荐

  • 如何使 HA 代理保持活动状态

    在我的环境中 我有 2 个 Web 服务器 Apache 的 haproxy 负载平衡 这是我的 HA 代理配置 global log 127 0 0 1 local2 chroot var lib haproxy pidfile var
  • 在 C# 中对 dataGridView 列进行排序? (Windows窗体)

    我有一个从 sql 表绑定的 datagridview 在该 dv 中我有这些属性 Id Name 和 Price 当我将名称列的排序模式设置为自动并单击此列的标题时 我可以根据名称的第一个字母对此 dv 进行排序 这样我可以根据产品的第一
  • SoapUI 响应中出现“不理解“MustUnderstand”标头”错误

    我正在尝试使用 SoapUI 进行 Web 服务的自动化测试 当我从应自动进行测试的服务器发送请求时 我总是得到以下响应 Request Request Headers Authorization Basic Host domino aut
  • 页脚隐藏浮动导航 - 一旦浮动导航到达页脚,有什么方法可以向上滑动浮动导航吗?

    我正在尝试向侧边栏添加浮动导航 当你开始滚动后 我让 jquery 将导航浮动到顶部 它在顶部工作正常 但一旦到达底部 页脚就会隐藏导航 导航到达某个点后需要向上滚动 有什么解决办法吗
  • UITableViewCell 内的 UITextView - 如果不单击链接,则触摸通过

    我试图利用 UITextView 与 TableViewCell 内的数据检测器类型的优势 而 TableViewCell 本身是可点击的 唯一的问题是 我需要 UITextView 的链接可单击 因此 userInteractionEna
  • 未处理的异常会导致WCF服务崩溃吗?

    我想知道未处理的异常是否会导致WCF服务崩溃 我编写了以下程序 该程序显示 WCF 服务启动的线程中未处理的异常将使整个 WCF 服务崩溃 我的问题是 我想确认线程中未处理的异常 由WCF服务启动 是否会导致WCF崩溃 我的困惑是我认为 W
  • C - 转换为 2 补码

    我决定这样做 翻转数字 0 1 1 0 LSB 加 1 如果进位 则循环直到 array i 0 但我坚持最后一点 我怎么能在条件循环中这么说呢 您正在谈论扩展算术 大多数处理器都有每次加法运算的进位和溢出结果 但 C 不提供对它们的访问
  • AngularJS - 创建服务对象

    我认为这可能更多是关于 javascript 问题 而不是在 Angular 邮件列表中发帖 希望SO社区也能给予更快的回应 我正在尝试将数据封装在服务中并注入到控制器中 angular module myApp services ngRe
  • C++ 多线程服务器帮助

    我正在使用 boost asio 在 C 中开发多线程服务器 目前我遇到的一个设计问题涉及擦除连接 我有一个服务器实例 其中包含连接对象向量 这些连接接收我解析的命令 其中一个命令专门处理向我的向量中的所有连接发送数据 现在 当连接断开时
  • Google Sheets API:设置权限

    在我的 Java 应用程序中 我正在创建新的 Google 表格 如下所示 Sheets service new Sheets Builder GoogleNetHttpTransport newTrustedTransport JSON
  • 关闭 Windows Mobile 上的 GPRS 连接

    是否有可能在 Windows Mobile 上获取所有打开或缓存的 gprs 连接并以编程方式强制它们关闭 我一直在查看连接管理器 api 但似乎找不到执行此操作的方法 Regards Tony 连接管理器 http msdn micros
  • iOS 分发证书即将到期。我有什么选择?

    我当前的分销证书今天过期了 这意味着我的 AdHoc 和 AppStore 配置文件也都过期了 我有 2 个应用程序已经提交给 Apple 审核 1个正在等待审核 另一个正在 审核中 我似乎无法生成新的分发证书 因为没有选项 只能撤销或下载
  • 如何在基于文档的 macOS 应用程序中处理不同的文档类型?

    如何在一个 macOS 文档应用程序中处理两种不同的自定义文档类型 从 macOS Document App 模板开始 我定义了两种类型 它们也注册在 info plist 中 extension UTType static var tes
  • nhibernate,无法解析属性 QueryOver 仅一张表

    我发现了十几个与我类似的问题 但没有一个能解决我的问题 先感谢您 Ok 我有这门课 public class User IEntity private int id public virtual int Id get return id p
  • iPhone 中的 Twitter 集成无需登录即可阅读公共推文/HashTags?

    大家好 我正在开发一个应用程序 它使用 twitter api 来获取客户的公共推文 他们的标签 目前我正在使用 MGTwitterEngine 它要求用户名 密码来获取推文 我们是否可以通过其他方式在无需登录的情况下获取公共推文及其主题标
  • 逗号分隔列表中值范围的正则表达式

    我想编写一个与数值列表匹配的正则表达式 以逗号分隔的列表给出 允许范围 不允许为空 类似 1 10 20 56 8 7 到目前为止我有 0 9 0 9 0 9 0 9 这完成了大部分工作 除了它只错过了一个范围的情况 例如 1 10 不会验
  • 如何将名称应用于环境?

    全球环境似乎有这个名字R GlobalEnv environment
  • 随机选择矩阵列

    我有一个m x n矩阵 我想在 MATLAB 中的一些神经网络应用程序中使用它 例如 A 24 22 35 40 30 32 42 47 45 39 14 1 10 5 9 2 8 4 1 8 我想随机训练一些列并测试其他剩余的列 因此 第
  • 尝试 rake db:migrate 时未在 Rails 项目中选择数据库

    使用 Rails 应用程序 遇到某种奇怪的数据库 rake 问题 当我执行时 rake db migrate 我收到以下错误 Mysql2 Error No database selected SHOW TABLES See full tr
  • Java中抛出匿名异常

    在 Java 中 即使只是在抛出时声明了异常 也有可能抛出任何异常 如下例 import org springframework dao DataAccessException DataAccessException is abstract