如何在本地c++中捕获整数除零和访问冲突异常
How to catch integer divide by zero and access violation exceptions in native C++
我需要捕捉整数除以零和访问违反读取或写入受保护的内存和显示我自己的对话框,并做一些适当的事情。这些异常不能被try {} catch{}机制捕获,因为硬件会产生这些异常。我如何捕获这些异常?任何建议或参考相关文章表示感谢mr.abzadeh
参见__try
/__except
机制的文档。在Windows中用于捕获硬件异常。
使用try -> catch(…)block:)在Visual Studio中有一种非常简单的方法来捕获任何类型的异常(除零,访问冲突等)
一个小的项目调整就足够了。只需在项目设置中启用/EHa选项。参见项目属性-> C/c++ ->代码生成->将使能c++异常修改为"Yes With SEH Exceptions"。就是这样!
查看详细信息:http://msdn.microsoft.com/en-us/library/1deeycx5 (v = vs.80) . aspx
不能捕获这些异常是很奇怪的。但如果是这样的话,我想你可以用自己的验证,抛出自己的异常。但是,您可能又错过了一些东西…
相关文章:
- 如何反转整数参数包
- enum是C++中的宏变量还是整数变量
- 努力将整数转换为链表。不知道我在这里做错了什么
- 整数不会重复超过随机数
- 在C++中手动调整数组大小
- 检查输入是否不是整数或数字
- 处理多个异常集合的C++方法
- C++使用整数的压缩数组初始化对象
- 我在c++代码中生成了一个运行时#3异常
- 孤立代码块在结构中引发异常
- 从 C++ 中定义的异常返回整数
- 抛出字符但捕获整数:如何处理异常的促销和转化
- 如何避免字符串到整数转换情况下的无效参数异常
- 异常包括字符指针和整数指针
- 在哪些平台上,整数除以零会触发浮点异常
- 对于作用于整数向量的循环行为异常
- c++标准是否允许添加两个整数(基本类型int)来抛出c++异常?
- 如何在本地c++中捕获整数除零和访问冲突异常
- c++程序输出整数时异常退出
- 使无符号整数下流抛出异常