As part of conventional exception handling, the processor-based device may first save exception state data into specialized registers referred to herein as exception state registers. The exception state registers may be used to save exception state data such as the value of a program counter at the time the exception occurred, as well as data related to the state of the processor-based device (e.g., processor mode, address translation settings, and the like, as non-limiting examples). Once program control is transferred to the exception handler, additional state data that may be required to preserve or restore the state of the processor-based device (e.g., the current values of general purpose registers (GPRs) and/or floating point registers (FPRs), as non-limiting examples) must be expressly stored by the exception handler in a data structure known as an exception stack. Thus, one of the first functions performed by the exception handler is the execution of one or more store operations to write the additional state data into the exception stack (either by executing a store instruction, or by the processor-based device automatically performing the store operation to the exception stack without actually executing a store instruction). However, in some scenarios it may be possible for a further exception to occur as a result of executing the store operations to the exception stack within the exception handler. The occurrence of such a second exception could result in the exception state data that was saved to the exception state registers as a result of the first exception being overwritten and lost, making it impossible to restore the processor-based device to its original state.