A lack of resources condition, such as heap space, that is recoverable shall result in a SystemException with reason code NO_RESOURCE. The factory methods in JCSystem used to create transient arrays throw a SystemException with reason code NO_TRANSIENT_SPACE to indicate lack of transient space.
All other (non-recoverable) virtual machine errors, such as stack overflow, shall result in a virtual machine error. These conditions shall cause the virtual machine to halt. When such a non-recoverable virtual machine error occurs, an implementation can optionally require the card to be muted or blocked from further use.