Practically speaking, there may be exceptions for which not enough status information about an exception is available, in which case the processor may raise a special exception, called an "'''imprecise" exception'''. Imprecise exceptions cannot occur in [[Out-of-order execution|in-order]] implementations, as processor state is changed only in program order (see [[{{slink|Classic RISC pipeline#Exceptions|RISC Pipeline Exceptions]]}}).
Programs that experience "'''precise" exceptions''', where the specific instruction that took the exception can be determined, can restart or re-execute at the point of the exception. However, those that experience "imprecise" exceptions generally cannot restart or re-execute, as the system cannot determine the specific instruction that took the exception.