tfm-report/img/catch-no-dep.dot

51 lines
1.7 KiB
Plaintext

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}
}