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

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

非常感谢您的帮助!

最佳答案

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

enter image description here

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

现在考虑这个例子: enter image description here

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

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

关于java - 如何在 UML 序列图中用 SQLException throw 表示 try catch block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56235813/

相关文章:

java - spring jdbc 优于 hibernate

oop - 关联端如何在 UML 中为关联所有且可导航?

java - 如何从文本文件中抓取随机行并打印该行

java - 函数的参数不匹配且超出范围。

hadoop - Impala ODBC/JDBC 性能不佳 - 与 NN 相比,从远程服务器获取行非常慢

java - 如何从 UML 转换为 java。虚线关系

uml - 在细化时拒绝和否决有什么区别

java - GWT 在服务器启动时执行 Liquibase 脚本

java - AmazonS3Client 已弃用如何使用凭证获取 s3client 对象

java - MySQL 返回 NPE 从表中获取 ID(作为字符串)