A handler for a resumable exception is passed down the call stack, rather than an object being passed up the call stack to the handler.
In some languages the handler can conditionally decide whether to resume back into or restart the block that raised the exception, or to cause an unwinding of the stack. In other languages, the action is fixed per exception type. (`try ... rescue`)