java - 我在哪里可以处理 MVC Java 中的异常?

标签 java swing model-view-controller exception

我正在编写 GUI 应用程序,用于在公司的会计软件和电子商务系统(网上商店)之间交换和同步数据。

我想使用 MVC(模型- View - Controller )设计模式来创建它。

我的应用程序的一部分是用会计软件中的此功能覆盖电子商务库存余额的功能。

我有

  1. 查看 - JDialog 显示覆盖进度。
  2. Controller - 负责数据库和 View 之间的交互
  3. 模型 - 来自数据库和应用设置的数据

当我对数据库进行排队时,我必须捕获异常(ClassNotFound 和 SQL)。

我应该在哪里创建 try {} catch {} block ?在 View 中?或者在 Controller 中?
我想呈现一些带有错误消息的 JOptionPane 并完成应用程序的某些状态。

最佳答案

您只提到了已检查的异常。

  1. 您不需要捕获异常。您可以选择声明它。
  2. 如果您不想声明它,可以将其包装RuntimeException中。
  3. 模型中的所有异常都应在代码中的单个位置进行处理(所谓的异常屏障),并以统一的方式呈现给 Controller 。 Controller 的主要兴趣是操作是否成功,它对失败原因的有趣细节不感兴趣。
  4. 不建议在不使用 Spring 之类的声明式事务、连接池等的情况下编写 DAO 层(用于数据库通信)。

关于java - 我在哪里可以处理 MVC Java 中的异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11502467/

相关文章:

java - 如何配置 SmartGWT TreeGrid 以使用不同类型的对象?

java - 最大化字体大小,同时将文本保留在 JTextField 中

php - Web 应用程序体系结构和应用程序服务器?

ruby-on-rails - 比较日期 >= 但不包括自身

java - 使用 linkedin 进行 Spring OAuth 登录

java - 帕斯卡三角形 - 线程 "main"java.util.NoSuchElementException 中出现异常

java - 加权快速联合查找

java 如何将字符串发送到服务器(jave.net/sockets)

java - JTable 是否有更好的免费替代品?

php - Laravel 5 路由中的多个可选参数