Originally software exception handling included both resumable exceptions (resumption semantics), like most hardware exceptions, and non-resumable exceptions (termination semantics).
Many languages which do not explicitly support continuations support exception handling, which is equivalent to escape continuations and can be used for the same purposes.
It is written to require no modification of system source and no insertion of software traps, since the processor's exception handling capabilities trigger fault injection.