51 lines
No EOL
1.7 KiB
Text
51 lines
No EOL
1.7 KiB
Text
digraph g {
|
|
before [label = "", style=invis, width =0.001, height = 0.001];
|
|
t [label = "try"];
|
|
f [label = <x_in = x<br/>f()>];
|
|
er [label = "error return"];
|
|
nr [label = "normal return"];
|
|
o [label = "x = x_out"];
|
|
o1 [label = "x = x_out"];
|
|
o2 [label = "x = x_out"];
|
|
o3 [label = "x = x_out"];
|
|
c1 [label = "catch (ExceptionA e)"]
|
|
c2 [label = "catch (ExceptionB e)"]
|
|
c3 [label = "catch (Exception e)"]
|
|
l1 [label = "log(\"Type A\")"];
|
|
l2 [label = "log(\"Type B\")"];
|
|
l3 [label = "log(\"Exception\")"];
|
|
after [label = "next"];
|
|
after2 [label = "", style= invis, height = 0.0001, width = 0.0001]
|
|
before -> t -> f -> er -> {c1, c2, c3};
|
|
f -> nr -> o -> after;
|
|
c1 -> o1 -> l1;
|
|
c2 -> o2 -> l2;
|
|
c3 -> o3 -> l3;
|
|
{t nr c1 c2 c3} -> after [style = dashed, constraint = false];
|
|
{l1 l2 l3} -> after -> after2;
|
|
|
|
BEFORE [label = "", style = invis, width = 0.001, height = 0.001];
|
|
T [label = "try"];
|
|
F [label = "f()"];
|
|
X_IN [label = "x_in = x"];
|
|
X_OUT_NORMAL [label = "x = x_out"];
|
|
X_OUT_1 [label = "x = x_out"];
|
|
X_OUT_2 [label = "x = x_out"];
|
|
X_OUT_3 [label = "x = x_out"];
|
|
NORMAL_RET [label = "normal return"];
|
|
ERROR_RET [label = "error return"];
|
|
C1 [label = "catch (ExceptionA e)"]
|
|
C2 [label = "catch (ExceptionB e)"]
|
|
C3 [label = "catch (Exception e)"]
|
|
L1 [label = "log(\"Type A\")"];
|
|
L2 [label = "log(\"Type B\")"];
|
|
L3 [label = "log(\"Exception\")"];
|
|
NEXT [label = "next"];
|
|
BEFORE -> NEXT;
|
|
BEFORE -> T -> F -> {X_IN NORMAL_RET ERROR_RET}
|
|
NORMAL_RET -> X_OUT_NORMAL
|
|
ERROR_RET -> {C1 C2 C3}
|
|
C1 -> {X_OUT_1 L1}
|
|
C2 -> {X_OUT_2 L2}
|
|
C3 -> {X_OUT_3 L3}
|
|
} |