Summary:
The handler region is often a region that is considered unreachable through normal execution paths. They therefore look very similar to orphan jumps in the resulting control flow graph, whereas in fact nodes within a protected region might transfer control to one of the handlers. Furthermore, for constructs like the try-finally, the actual "exception-less" flow might not be correctly encoded in the graph.
The suggestion is:
- To add an option to add abnormal edges from every node within the protected region to the handler blocks.
- To add an option to redirect edges that leave an exception handler to the handler block when necessary (for finally blocks), and add abnormal edges at the leaves of such a finally block to the original destination addresses.
A try-catch with orphan handler blocks

Try-catch after enabling option 1

Try-finally with orphan handler and inaccurate flow control

Try-finally after enabling option 2

Summary:
The handler region is often a region that is considered unreachable through normal execution paths. They therefore look very similar to orphan jumps in the resulting control flow graph, whereas in fact nodes within a protected region might transfer control to one of the handlers. Furthermore, for constructs like the try-finally, the actual "exception-less" flow might not be correctly encoded in the graph.
The suggestion is:
A try-catch with orphan handler blocks
Try-catch after enabling option 1
Try-finally with orphan handler and inaccurate flow control
Try-finally after enabling option 2