Module xl.vmx

Class AbruptCompletion.Nonlocal

  • All Implemented Interfaces:
    Serializable
    Enclosing class:
    AbruptCompletion

    public static final class AbruptCompletion.Nonlocal
    extends Error
    This class wraps an abrupt completion that has to be transferred (non-locally) to a statically containing routine invocation before Java's catching mechanism comes into play. It extends Error so that it is not catched and discarded by well-behaved Java programs (which would lead to improper behaviour of the non-local transfer mechanism).
    Author:
    Ole Kniemeyer
    See Also:
    Serialized Form
    • Method Detail

      • getReason

        public AbruptCompletion getReason​(Authorization auth)
        Returns the wrapped abrupt completion if the current frame of the VMXState corresponds to the frame that has been specified in VMXState.newNonlocal(int, AbruptCompletion, Authorization). In this case, this instance is disposed and may be re-used by the VMXState. Otherwise, this instance is re-thrown in order to continue the non-local transfer of the reason.
        Returns:
        the wrapped abrupt completion