java - 如何在 UML 序列图中用 SQLException throw 表示 try catch 块?
问题描述
我很难理解如何用 UML 序列图表示以下代码:
我已经拥有的:
Java代码:
public static Connection getDbConnection() throws SQLException{
if (instanceOfDbConnect == null) {
instanceOfDbConnect = new DbConnection();
System.out.println(" Connection - - - - - - - - Trying to create DBConnection.");
}
try {
return DriverManager.getConnection(URL,user,password);
} catch (SQLException e) {
throw e;
}
}
如果以这种方式完成,我该如何处理这个抛出的 SQLException?在我看来,我应该得到一条从 SQLException 到 DbConnection 的返回消息(抛出 e)。但是从 DbConnection 到 SQLException 的发送者消息是什么?
非常感谢您的帮助!
解决方案
正如所评论的那样,UML 在实际代码方面并不是最好的。您的八行代码(不包括单个右括号行)非常清楚。尝试将其绘制为 SD 可能看起来像
这对记录有帮助吗?这得看情况。您必须处理大量图形元素,并且根据工具,您需要花费大量时间来安排箭头框架和生命线。那可能会变成一个 PITA。它甚至比这个小代码示例更清晰。
在这里,行为存储在消息的注释中(使用 Enterprise Architect)。相反,可以使用一个注释元素并将其放置在图表上。
所以无论你走什么路线:这都是关于沟通的。使用最好的方式来传达这个想法。当您想要展示涉及许多对象的复杂协作时,SD 非常有用。但在一定程度上,codez只是传输信息的最佳方式。
推荐阅读
- vue.js - 未定义属性或方法“索引”。创建新项目时 Vue.js
- python - 查找日期列表之间的所有交叉期间(对于房间预订)
- vue.js - vuejs cli 3的服务器端渲染问题
- apache-spark - PySpark ImportError:尽管包含在 --pyfiles 中,但没有命名模块
- css - css 变换在移动浏览器中反向显示
- stripe-payments - Stripe - 更改计划后,在当前周期结束之前不要为新订阅计费
- postgresql - 由于分号,创建过程失败
- python - 如何隐藏 Pycharm python 解释器
- javascript - 使用 setState 更改状态中的对象数组
- android - 同步联系人 Firebase