convert Structured Exception Code to string

原创 2013年12月02日 21:29:19
#include <stdio.h>
#include <windows.h> // for EXCEPTION_ACCESS_VIOLATION
#include <excpt.h>

char const* exCode2ExDesc(unsigned int exCode)
{
	switch (exCode)
	{
	case EXCEPTION_ACCESS_VIOLATION:
		return "EXCEPTION_ACCESS_VIOLATION";
	case EXCEPTION_ARRAY_BOUNDS_EXCEEDED:
		return "EXCEPTION_ARRAY_BOUNDS_EXCEEDED";
	case EXCEPTION_BREAKPOINT:
		return "EXCEPTION_BREAKPOINT";
	case EXCEPTION_DATATYPE_MISALIGNMENT:
		return "EXCEPTION_DATATYPE_MISALIGNMENT";
	case EXCEPTION_FLT_DENORMAL_OPERAND:
		return "EXCEPTION_FLT_DENORMAL_OPERAND";
	case EXCEPTION_FLT_DIVIDE_BY_ZERO:
		return "EXCEPTION_FLT_DIVIDE_BY_ZERO";
	case EXCEPTION_FLT_INEXACT_RESULT:
		return "EXCEPTION_FLT_INEXACT_RESULT";
	case EXCEPTION_FLT_INVALID_OPERATION:
		return "EXCEPTION_FLT_INVALID_OPERATION";
	case EXCEPTION_FLT_OVERFLOW:
		return "EXCEPTION_FLT_OVERFLOW";
	case EXCEPTION_FLT_STACK_CHECK:
		return "EXCEPTION_FLT_STACK_CHECK";
	case EXCEPTION_FLT_UNDERFLOW:
		return "EXCEPTION_FLT_UNDERFLOW";
	case EXCEPTION_GUARD_PAGE:
		return "EXCEPTION_GUARD_PAGE";
	case EXCEPTION_ILLEGAL_INSTRUCTION:
		return "EXCEPTION_ILLEGAL_INSTRUCTION";
	case EXCEPTION_IN_PAGE_ERROR:
		return "EXCEPTION_IN_PAGE_ERROR";
	case EXCEPTION_INT_DIVIDE_BY_ZERO:
		return "EXCEPTION_INT_DIVIDE_BY_ZERO";
	case EXCEPTION_INT_OVERFLOW:
		return "EXCEPTION_INT_OVERFLOW";
	case EXCEPTION_INVALID_DISPOSITION:
		return "EXCEPTION_INVALID_DISPOSITION";
	case EXCEPTION_INVALID_HANDLE:
		return "EXCEPTION_INVALID_HANDLE";
	case EXCEPTION_NONCONTINUABLE_EXCEPTION:
		return "EXCEPTION_NONCONTINUABLE_EXCEPTION";
	case EXCEPTION_PRIV_INSTRUCTION:
		return "EXCEPTION_PRIV_INSTRUCTION";
	case EXCEPTION_SINGLE_STEP:
		return "EXCEPTION_SINGLE_STEP";
	case EXCEPTION_STACK_OVERFLOW:
		return "EXCEPTION_STACK_OVERFLOW";
	case  STATUS_UNWIND_CONSOLIDATE:
		return "STATUS_UNWIND_CONSOLIDATE";
	default:
		return "UNKNOWN_SE_EXCEPTION";
	}

}

int main()
{
	int * p = 0;
	__try
	{

		*p = 13;    // causes an access violation exception;	
	}
	__except (EXCEPTION_EXECUTE_HANDLER)
	{
		puts(exCode2ExDesc(GetExceptionCode()));
	}
	return 0;
}

freemarker报错之二

1、错误描述 五月 27, 2014 12:07:05 上午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严重: Template proc...
  • you23hai45
  • you23hai45
  • 2014年05月27日 00:07
  • 3938

Python-开发之路-内建函数

如上图,本次将挑python的内建函数中常用的简要演示一下
  • qq_34409701
  • qq_34409701
  • 2016年06月17日 23:30
  • 2367

深度学习笔记——理论与推导之Structured Learning【Structured SVM】(七)

Separable case 1. 定义: 2. 用来计算weight的Structured Perceptron演算法: 如果我们能找到一个满足上图的feature functi...
  • sysstc
  • sysstc
  • 2017年08月10日 11:44
  • 333

C#中转换函数Convert、Parse、TryParse、(int) 的区别

Convert、Parse、TryParse、(int) 三个函数都是将值转换成整数,但是四者之间各有异同,开发人员可以根据情况选用最合适的。以下解释均经过高人验证,希望对大家有所帮助。  1 ...
  • u011778428
  • u011778428
  • 2013年08月24日 14:32
  • 3080

mysql类型转换函数convert与cast的用法

简单介绍下mysql数据库中用于类型转换的二个函数,convert与cast函数,有需要的朋友参考下。 首先,convert函数 字符集转换 :   CONVERT(xxx  USIN...
  • kouwoo
  • kouwoo
  • 2015年05月06日 14:45
  • 12278

深度学习笔记——理论与推导之Structured Learning【Structured Linear Model】(六)

Structured Learning Sturctured Learning 引入 定义: 输入X,输出Y 都是有结构的对象(objects with structures) Object:...
  • sysstc
  • sysstc
  • 2017年08月10日 11:44
  • 248

Spark定制班第29课:深入理解Spark 2.x中的Structured Streaming内幕

本期内容: 1. 新型的Spark Streaming思维 2. Structured Streaming内幕 Spark 2.0 仍有bug,不适合于生成环境。只用于测试。 Spar...
  • andyshar
  • andyshar
  • 2016年06月24日 10:10
  • 1663

C++与SEH异常处理

参考以下两篇微软的文章:
  • atceedsun
  • atceedsun
  • 2014年08月02日 17:23
  • 1291

深度学习笔记——理论与推导之Structured Learning【Sequence Labeling Problem】(八)

Sequence Labeling(序列标注问题),可以用RNN解决,也可以用Structured Learning(two steps,three problems)解决 常见问题: -...
  • sysstc
  • sysstc
  • 2017年08月10日 11:45
  • 483

jsp文件木马代码分析

近来登陆阿里云,竟发现webapps/ROOT/下面多了一个tst.jsp 代码格式化了一下,每个方法都注释了下 ...
  • pandaball
  • pandaball
  • 2016年03月26日 00:00
  • 1775
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:convert Structured Exception Code to string
举报原因:
原因补充:

(最多只允许输入30个字)