ReXGlue SDK
Loading...
Searching...
No Matches
rex::SEHException Class Reference

#include <rex/ppc/seh.h>

Inheritance diagram for rex::SEHException:
[legend]

Public Types

enum  Code : u32 {
  kAccessViolation = 0xC0000005 , kInPageError = 0xC0000006 , kIllegalInstruction = 0xC000001D , kStackOverflow = 0xC00000FD ,
  kFloatDivideByZero = 0xC000008E , kIntegerDivideByZero = 0xC0000094 , kUnknown = 0xFFFFFFFF
}

Public Member Functions

 SEHException (Code code, uintptr_t address=0)
const char * what () const noexcept override
Code GetCode () const noexcept
uintptr_t GetAddress () const noexcept

Detailed Description

Thrown when a hardware exception occurs inside an SEH scope on POSIX.

Member Enumeration Documentation

◆ Code

Exception codes, equal to the Windows EXCEPTION_ values.

Enumerator
kInPageError 

Page could not be loaded, SIGBUS on POSIX.

kFloatDivideByZero 

Floating point divide by 0, SIGFPE on POSIX.

Member Function Documentation

◆ GetAddress()

uintptr_t rex::SEHException::GetAddress ( ) const
inlinenoexcept

Returns the faulting address. It is 0 when unknown.

◆ what()

const char * rex::SEHException::what ( ) const
inlineoverridenoexcept

Names the exception.

Returns
Static text naming the exception code.

The documentation for this class was generated from the following file: