The SEH mechanism presented in Chapter 23 and Chapter 24 is a frame-based mechanism. That is, as a thread enters into each
try block (or frame), a node is added to a linked list. If an exception occurs, the system walks the frames in the linked list in order—from the most recently entered
try block to the
try block that was entered first by the thread—looking for
catch handlers. Once a
catch handler is found, the system walks the linked list again, executing
finally blocks. When the unwind is complete (or if
try blocks just exit without raising an exception), the frames are removed from the linked list.
Windows also provides a vectored exception handling (VEH) mechanism that works together with SEH. Instead ...