42 lines
		
	
	
		
			No EOL
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			No EOL
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
digraph g {
 | 
						|
    enter [];
 | 
						|
    mxin [label = "x = x_in", ];
 | 
						|
    try [];
 | 
						|
    x_in [label = "x_in = x", ];
 | 
						|
    f [label = "f()", ];
 | 
						|
    nr [label = "normal return"];
 | 
						|
    x_out_nr [label = "x = x_out"];
 | 
						|
    er [label = "error return"];
 | 
						|
    catch [label = "catch (Exception e)"];
 | 
						|
    x_out_catch [label = "x = x_out"];
 | 
						|
    log [label = "log(\"error\")"];
 | 
						|
    x_0 [label = "x = 0", style = invis];
 | 
						|
    x_in2 [label = "x_in = x", ];
 | 
						|
    f2 [label = "f()", ];
 | 
						|
    nr2 [label = "normal return"];
 | 
						|
    er2 [label = "error return"];
 | 
						|
    ee [label = "error exit"];
 | 
						|
    x_out_nr2 [label = "x = x_out"];
 | 
						|
    x_out_ee [label = "x = x_out"];
 | 
						|
 | 
						|
    enter -> {mxin try};
 | 
						|
    enter -> x_0 [style = invis];
 | 
						|
    try -> f -> {x_in nr er}
 | 
						|
    nr -> x_out_nr
 | 
						|
    er -> catch -> {x_out_catch log}
 | 
						|
    enter -> {f2}
 | 
						|
    f2 -> {x_in2 nr2 er2}
 | 
						|
    nr2 -> x_out_nr2
 | 
						|
    er2 -> ee -> x_out_ee; 
 | 
						|
 | 
						|
    {edge [color = red, constraint = false];
 | 
						|
        mxin -> x_in;
 | 
						|
        {x_out_catch x_out_nr} -> x_in2;
 | 
						|
        x_0 -> x_in2 [style = invis];
 | 
						|
    }
 | 
						|
 | 
						|
    {edge [color = blue, constraint = false];
 | 
						|
    x_in -> {x_out_nr x_out_catch}
 | 
						|
    x_in2 -> {x_out_nr2 x_out_ee}
 | 
						|
    }
 | 
						|
} |