如何在UML序列图中用SQLException throw表示try catch块?

时间:2019-05-21 10:00:47

标签: java jdbc uml sequence-diagram visual-paradigm

我正在努力了解如何通过UML序列图表示以下代码:

我已经拥有的东西:

Picture of my UML sequence diagram

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

非常感谢您的所有帮助!

1 个答案:

答案 0 :(得分:2)

正如所评论的那样,当涉及到真实代码时,UML不是最好的。您的八行代码(不计算单个右括号行)非常清晰。尝试将其绘制为SD的样子

enter image description here

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

现在考虑以下示例: enter image description here

此处的行为存储在消息的注释中(使用Enterprise Architect)。取而代之的是,可以使用一个note元素并将其放置在图表上。

因此,无论走什么路,一切都与沟通有关。用最好的方式传达想法。当您想要显示涉及许多对象的复杂协作时,SD非常有用。但是在某种程度上 codez 只是传输消息的最佳方式。