Important: The information in this document is obsolete and should not be used for new development.
Exception Kinds
The Exception Manager indicates to your exception handler the kind of exception
that has occurred by passing it an exception code. The exception kind is indicated by
a constant.
- Note
- Some kinds of exceptions occur only on specific types of
processors or only in specific system software versions.enum { /*exception codes*/ unknownException = 0, /*unknown exception type*/ illegalInstructionException = 1, /*illegal instruction*/ trapException = 2, /*unknown trap type*/ accessException = 3, /*failed memory access*/ unmappedMemoryException = 4, /*memory is unmapped*/ excludedMemoryException = 5, /*memory is excluded*/ readOnlyMemoryException = 6, /*memory is read-only*/ unresolvablePageFaultException = 7, /*unresolvable page fault*/ privilegeViolationException = 8, /*privilege violation*/ traceException = 9, /*trace*/ instructionBreakpointException = 10, /*instruction breakpoint*/ dataBreakpointException = 11, /*data breakpoint*/ integerException = 12, /*unused*/ floatingPointException = 13, /*floating point*/ stackOverflowException = 14, /*stack overflow*/ terminationException = 15 /*task is being terminated*/ };Constant descriptions
unknownException
- Unknown kind of exception. This exception code is defined for completeness only; it is never actually passed to an exception handler.
illegalInstructionException
- Illegal instruction exception. The processor attempted to decode an instruction that is either illegal or unimplemented.
trapException
- Unknown trap type exception. The processor decoded a trap type instruction that is not used by the system software.
accessException
- Memory access exception. A memory reference resulted in a page fault because the physical address is not accessible.
unmappedMemoryException
- Unmapped memory exception. A memory reference was made to an address that is unmapped.
excludedMemoryException
- Excluded memory exception. A memory reference was made to an excluded address.
readOnlyMemoryException
- Read-only memory exception. A memory reference was made to an address that cannot be written to.
unresolvablePageFaultException
- Unresolvable page fault exception. A memory reference resulted in a page fault that could not be resolved. The
theError
field of the memory exception record contains a status value indicating the reason for this unresolved page fault.privilegeViolationException
- Privilege violation exception. The processor decoded a privileged instruction but was not executing in the privileged mode.
traceException
- Trace exception. This exception is used by debuggers to support single-step operations.
instructionBreakpointException
- Instruction breakpoint exception. This exception is used by debuggers to support breakpoint operations.
dataBreakpointException
- Data breakpoint exception. This exception is used by debuggers to support breakpoint operations.
integerException
- Integer exception. This exception is not used by PowerPC processors.
floatingPointException
- Floating-point arithmetic exception. The floating-point processor has exceptions enabled and an exception has occurred. (This exception is not used in the first version of the system software
for PowerPC processor-based Macintosh computers.)stackOverflowException
- Stack overflow exception. The stack limits have been exceeded and the stack cannot be expanded. (This exception is not used in the first version of the system software for PowerPC processor-based Macintosh computers.)
terminationException
- Termination exception. The task is being terminated. (This exception is not used in the first version of the system software for PowerPC processor-based Macintosh computers.)