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

How can I represent try catch block with SQLException throw in UML sequence diagram?

我正在努力理解如何用 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 得到一条 return 消息(抛出 e)。但是从 DbConnection 到 SQLException 的发送消息是什么?

非常感谢您的帮助!

如评论所述,当涉及到真实代码时,UML 并不是最好的。您的八行代码(不包括单个右括号行)非常清晰。尝试将其绘制为 SD 可能看起来像

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

现在考虑这个例子:

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

所以无论您走哪条路:一切都与沟通有关。使用最好的方式来传达想法。当您想要显示涉及许多对象的复杂协作时,SD 非常有用。但在某种程度上,teh codez 恰好是传输消息的最佳选择。