1. A method for error recovery in a data processing system having a memory device, comprising the steps of: fetching an instruction having an instruction fetch address; storing the instruction fetch address in the memory device; executing or at least partially executing the instruction; validating the execution or partial execution of the instruction; implementing a state change based upon validating the instruction; and if an error is detected in said step of validating the execution of the instruction, then performing the following steps: fetching the instruction utilizing the instruction fetch address stored in the memory device, and re-executing or at least partially re-executing the instruction.