std::string GetExceptionDesc()

in remote/CrashHandler.cpp [108:157]


std::string GetExceptionDesc(DWORD exceptionCode) {
  switch (exceptionCode) {
    case EXCEPTION_ACCESS_VIOLATION:
      return "Access violation";
    case EXCEPTION_DATATYPE_MISALIGNMENT:
      return "Datatype misalignment";
    case EXCEPTION_BREAKPOINT:
      return "Breakpoint";
    case EXCEPTION_SINGLE_STEP:
      return "Single step";
    case EXCEPTION_ARRAY_BOUNDS_EXCEEDED:
      return "Array bounds exceeded";
    case EXCEPTION_FLT_DENORMAL_OPERAND:
      return "Floating point denormal operand";
    case EXCEPTION_FLT_DIVIDE_BY_ZERO:
      return "Floating point divide by zero";
    case EXCEPTION_FLT_INEXACT_RESULT:
      return "Floating point inexact result";
    case EXCEPTION_FLT_INVALID_OPERATION:
      return "Floating point invalid operation";
    case EXCEPTION_FLT_OVERFLOW:
      return "Floating point overflow";
    case EXCEPTION_FLT_STACK_CHECK:
      return "Floating point stack check";
    case EXCEPTION_FLT_UNDERFLOW:
      return "Floating point underflow";
    case EXCEPTION_INT_DIVIDE_BY_ZERO:
      return "Integer divide by zero";
    case EXCEPTION_INT_OVERFLOW:
      return "Integer overflow";
    case EXCEPTION_PRIV_INSTRUCTION:
      return "Privileged instruction";
    case EXCEPTION_IN_PAGE_ERROR:
        return "In page error";
    case EXCEPTION_ILLEGAL_INSTRUCTION:
      return "Illegal instruction";
    case EXCEPTION_NONCONTINUABLE_EXCEPTION:
      return "Noncontinuable exception";
    case EXCEPTION_STACK_OVERFLOW:
      return "Stack overflow";
    case EXCEPTION_INVALID_DISPOSITION:
      return "Invalid disposition";
    case EXCEPTION_GUARD_PAGE:
      return "Guard page violation";
    case EXCEPTION_INVALID_HANDLE:
      return "Invalid handle";
    default:
      return "Exception Code: " + std::to_string(exceptionCode);
  }
}