Ignore: Do not catch. Act: Catch, handle and re-throw Own: Catch and handle
Ignore: Do not catch. Act: Catch, handle and re-throw Own: Catch and handle
Discuss the roles of jmp_buf (including its reuse at multiple points in the code) and int (as an encoded exception object - much like the return value). They provide scalability - Multiple buffers, multiple assignments to buffers and multiple return values. Note that this mechanism merges the advantages of goto and return value and offers more. It offers the basic control for exception handling in C++ (sans the local object cleanup)
Green arrows show the normal flow. Red one shows abnormal flow. Oval areas correspond to try, catch and throw.
Can be asynchronous - interrupt driven. Discuss the semantics for raise() and signal(). Highlight why this can be nearest to exception handling in C++.