首页 > 解决方案 > 如何在 UML 序列图中用 SQLException throw 表示 try catch 块?

问题描述

我很难理解如何用 UML 序列图表示以下代码:

我已经拥有的:

我的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 的发送者消息是什么?

非常感谢您的帮助!

标签: javajdbcumlsequence-diagramvisual-paradigm

解决方案


正如所评论的那样,UML 在实际代码方面并不是最好的。您的八行代码(不包括单个右括号行)非常清楚。尝试将其绘制为 SD 可能看起来像

在此处输入图像描述

这对记录有帮助吗?这得看情况。您必须处理大量图形元素,并且根据工具,您需要花费大量时间来安排箭头框架和生命线。那可能会变成一个 PITA。它甚至比这个小代码示例更清晰。

现在考虑这个例子: 在此处输入图像描述

在这里,行为存储在消息的注释中(使用 Enterprise Architect)。相反,可以使用一个注释元素并将其放置在图表上。

所以无论你走什么路线:这都是关于沟通的。使用最好的方式来传达这个想法。当您想要展示涉及许多对象的复杂协作时,SD 非常有用。但在一定程度上,codez只是传输信息的最佳方式。


推荐阅读