こんにちは、私は最近、特定のプロジェクトを UML にリバース エンジニアリングしていて、結論に達することができない点で立ち往生していました。コードはかなり単純です。
...
try
{
sj = SendingJob.DeserializeXmlString("....");
trcSrc.TraceInfo("....");
}
catch (FormatException)
{
trcSrc.TraceError("....");
return "00 - Job Content Bad Format.";
} ...
まず、コードを次のようにモデル化しました。
しかし、次のテキストを読んだ後:
「アクションの実行中に例外が発生した場合、実行は中止され、アクションからの出力はありません。アクションに例外ハンドラがある場合、ハンドラは例外情報とともに実行されます。例外ハンドラが実行されると、その出力は保護されたノードが実行を終了したかのように、保護されたノードの後の次のアクションに使用できます。」
...しかし、私の例外ハンドラーは、値を返し、アクティビティを停止することにより、catch ブロックを終了します。例外ノードをアクティビティの最終ノードにリンクしようとしましたが、私のツールはそれを拒否しました。これは正しい方法ではないと確信しています。
だから私の質問は:アクションが例外をスローし、そのハンドラーがアクティビティを終了するアクティビティ図をモデル化する方法は?