java - 在应用程序代码中使用 Spring 框架异常?

标签 java spring exception

使用框架提供的异常是否被认为是不好的做法?我正在使用 Spring JDBC,我发现了这个 IncorrectResultSizeDataAccessException正是我想要的异常。我将从存储库层抛出它。存储库和服务层已经知道我使用 Spring 那么这有关系吗?

一般情况下,您会像这样创建自己的异常,还是依赖于框架提供的异常(如果可以使用)?

最佳答案

出于多种原因,我会诉诸于使用我自己定义的异常:

  • 对我的异常相比有更好的生命周期版本控制很多 一些第三方框架。
  • 不依赖于某些第三方框架版本 使用需要的异常(exception)。
  • 可以设计我自己的未经检查或检查的异常层次结构,并且我的应用程序需求决定了我的异常设计(而不是某些第三方框架)
  • 可以轻松重构我的异常代码,添加/更新/删除方法。

我看到的唯一缺点是您最终可能会将一些第三方框架异常包装到您的应用程序特定异常中……例如

try
{
  //...do something...
}
catch(SQLException e)
{
  throw new MyAppException(e);
} 

关于java - 在应用程序代码中使用 Spring 框架异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15484447/

相关文章:

java - 方法preparestatement(String)是未定义的错误

java - 找不到@Resource对象在Spring xml中实例化的位置

java - 通过尝试从 Google-Cloud-Storage 读取值来授予无效

macos - Grails GGTS IDE GrailsProcessDiedException : Grails process died

java - 哪个 SHA-256 是正确的? Java SHA-256 摘要或 Linux 命令行工具

java - 如何使用tomcat在eclipse中运行maven web应用程序

java - 如何使用 selenium webdriver 处理覆盖/弹出窗口

java - 在 Spring Boot 应用程序中重定向到自定义错误页面时出错

java - 为什么 taglib 测试会抛出 GrailsTag 异常?

c# - elmah:没有 HttpContext 的异常?