我正在努力理解如何用 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 非常有用。但在某种程度上,代码是传输消息的最佳选择。
关于java - 如何在 UML 序列图中用 SQLException throw 表示 try catch block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56235813/