Alternate guard form - evaluate the guard clauses in the continuation of the raise.
We need to override the current-exception-handler and still pass a thunk to be
applied on return, but this allows us to print stack traces inside guards.
checking for NULLs before checking exceptions