public final class ResolvedControlThrowable extends Throwable
When suspending a call, the runtime uses the exception handling mechanism of the Java Virtual Machine to unravel the (Java) call stack and while doing so, to build a representation of the Lua call stack for a later resume. This throwable is an essential part of this mechanism.
In contrast to UnresolvedControlThrowable
, a ResolvedControlThrowable
contains a complete representation of the Lua call stack that can be used to resume
the call. In order to unravel the entire Lua call stack up to the entry
point of the call, this throwable should never be caught without being rethrown.
Doing so would prevent both the non-local control change (i.e., the suspend) and the
construction of the remainder of the Lua call stack.
Instances of this class are immutable and do not contain Java stack traces for performance reasons.
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
Copyright © 2016. All rights reserved.