Describes the operating support for exceptions.
The basic operating system support for exceptions comes from
the TRAP macro and its variant, TRAPD, which allow code to be run under a trap harness
the User::Leave() call, which terminates the current function, and returns to the trap harness, specifying an error code.
These are analogous to C++’s exception handling support (try/catch and throw).
By convention, all functions that can leave — directly or indirectly — have an L appended onto their name (and can therefore be referred to as L functions). The function invoked by a trap harness will always be an L function.