#[repr(u32)]pub enum ExceptionCode {
Show 23 variants
AccessViolation = 3_221_225_477,
ArrayBoundsExceeded = 3_221_225_612,
Breakpoint = 2_147_483_651,
DatatypeMisalignment = 2_147_483_650,
FltDenormalOperand = 3_221_225_613,
FltDivideByZero = 3_221_225_614,
FltInexactResult = 3_221_225_615,
FltInvalidOperation = 3_221_225_616,
FltOverflow = 3_221_225_617,
FltStackCheck = 3_221_225_618,
FltUnderflow = 3_221_225_619,
GuardPage = 2_147_483_649,
IllegalInstruction = 3_221_225_501,
InPageError = 3_221_225_478,
IntegerDivideByZero = 3_221_225_620,
IntegerOverflow = 3_221_225_621,
InvalidDisposition = 3_221_225_510,
InvalidHandle = 3_221_225_480,
NoncontinuableException = 3_221_225_509,
PrivilegedInstruction = 3_221_225_622,
SingleStep = 2_147_483_652,
StackOverflow = 3_221_225_725,
UnwindConsolidate = 2_147_483_689,
}Expand description
Codes for unhandled windows exceptions from msdn.
Variants§
AccessViolation = 3_221_225_477
The thread attempts to read from or write to a virtual address for which it does not have access.
ArrayBoundsExceeded = 3_221_225_612
The thread attempts to access an array element that is out of bounds, and the underlying hardware supports bounds checking.
Breakpoint = 2_147_483_651
A breakpoint is encountered.
DatatypeMisalignment = 2_147_483_650
The thread attempts to read or write data that is misaligned on hardware that does not provide alignment. For example, 16-bit values must be aligned on 2-byte boundaries, 32-bit values on 4-byte boundaries, and so on.
FltDenormalOperand = 3_221_225_613
One of the operands in a floating point operation is denormal. A denormal value is one that is too small to represent as a standard floating point value.
FltDivideByZero = 3_221_225_614
The thread attempts to divide a floating point value by a floating point divisor of 0 (zero).
FltInexactResult = 3_221_225_615
The result of a floating point operation cannot be represented exactly as a decimal fraction.
FltInvalidOperation = 3_221_225_616
A floating point exception that is not included in this list.
FltOverflow = 3_221_225_617
The exponent of a floating point operation is greater than the magnitude allowed by the corresponding type.
FltStackCheck = 3_221_225_618
The stack has overflowed or underflowed, because of a floating point operation.
FltUnderflow = 3_221_225_619
The exponent of a floating point operation is less than the magnitude allowed by the corresponding type.
GuardPage = 2_147_483_649
The thread accessed memory allocated with the PAGE_GUARD modifier.
IllegalInstruction = 3_221_225_501
The thread tries to execute an invalid instruction.
InPageError = 3_221_225_478
The thread tries to access a page that is not present, and the system is unable to load the page. For example, this exception might occur if a network connection is lost while running a program over a network.
IntegerDivideByZero = 3_221_225_620
The thread attempts to divide an integer value by an integer divisor of 0 (zero).
IntegerOverflow = 3_221_225_621
The result of an integer operation creates a value that is too large to be held by the destination register. In some cases, this will result in a carry out of the most significant bit of the result. Some operations do not set the carry flag.
InvalidDisposition = 3_221_225_510
An exception handler returns an invalid disposition to the exception dispatcher. Programmers using a high-level language such as C should never encounter this exception.
InvalidHandle = 3_221_225_480
The thread used a handle to a kernel object that was invalid (probably because it had been closed.)
NoncontinuableException = 3_221_225_509
The thread attempts to continue execution after a non-continuable exception occurs.
PrivilegedInstruction = 3_221_225_622
The thread attempts to execute an instruction with an operation that is not allowed in the current computer mode.
SingleStep = 2_147_483_652
A trace trap or other single instruction mechanism signals that one instruction is executed.
StackOverflow = 3_221_225_725
The thread uses up its stack.
UnwindConsolidate = 2_147_483_689
A frame consolidation has been executed.
Implementations§
Source§impl ExceptionCode
impl ExceptionCode
Sourcepub fn try_from_code(code: u32) -> Result<Self, TryFromPrimitiveError<Self>>
pub fn try_from_code(code: u32) -> Result<Self, TryFromPrimitiveError<Self>>
Try to interpret the given code as a windows exception code.
Trait Implementations§
Source§impl Clone for ExceptionCode
impl Clone for ExceptionCode
Source§fn clone(&self) -> ExceptionCode
fn clone(&self) -> ExceptionCode
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ExceptionCode
Source§impl Debug for ExceptionCode
impl Debug for ExceptionCode
Source§impl Display for ExceptionCode
impl Display for ExceptionCode
impl Eq for ExceptionCode
Source§impl From<ExceptionCode> for RawRpcError
Available on crate feature rpc-core only.
impl From<ExceptionCode> for RawRpcError
rpc-core only.Source§fn from(err: ExceptionCode) -> Self
fn from(err: ExceptionCode) -> Self
Source§impl From<ExceptionCode> for u32
impl From<ExceptionCode> for u32
Source§fn from(enum_value: ExceptionCode) -> Self
fn from(enum_value: ExceptionCode) -> Self
Source§impl From<ExceptionCode> for InjectError
Available on crate feature syringe only.
impl From<ExceptionCode> for InjectError
syringe only.Source§fn from(err: ExceptionCode) -> Self
fn from(err: ExceptionCode) -> Self
Source§impl From<ExceptionCode> for EjectError
Available on crate feature syringe only.
impl From<ExceptionCode> for EjectError
syringe only.Source§fn from(err: ExceptionCode) -> Self
fn from(err: ExceptionCode) -> Self
Source§impl From<ExceptionCode> for LoadProcedureError
Available on crate feature syringe only.
impl From<ExceptionCode> for LoadProcedureError
syringe only.Source§fn from(err: ExceptionCode) -> Self
fn from(err: ExceptionCode) -> Self
Source§impl From<ExceptionCode> for SyringeError
Available on crate feature syringe only.
impl From<ExceptionCode> for SyringeError
syringe only.Source§fn from(err: ExceptionCode) -> Self
fn from(err: ExceptionCode) -> Self
Source§impl Hash for ExceptionCode
impl Hash for ExceptionCode
Source§impl Ord for ExceptionCode
impl Ord for ExceptionCode
Source§fn cmp(&self, other: &ExceptionCode) -> Ordering
fn cmp(&self, other: &ExceptionCode) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for ExceptionCode
impl PartialEq for ExceptionCode
Source§fn eq(&self, other: &ExceptionCode) -> bool
fn eq(&self, other: &ExceptionCode) -> bool
self and other values to be equal, and is used by ==.