时间:2021-05-02
最近在编写C++程序时,瑞然在能够出错的地方都使用了try...catch处理,可是程序总是静静地退出,从外部的进程查询它的退出码,结果是0xc0000417,在网上搜索了一下,原来是“未知软件错误”。
那这个异常是谁抛出来的呢?我到VS的安装目录去找0xc0000417,结果在ntstatus.h找到定义:
//// MessageId: STATUS_INVALID_CRUNTIME_PARAMETER//// MessageText://// An invalid parameter was passed to a C runtime function.//#define STATUS_INVALID_CRUNTIME_PARAMETER ((NTSTATUS)0xC0000417L)
原来是非法句柄错误,但我又没有用_set_invalid_parameter_handler设置处理回调函数。
这样C++框架发现了这一情况,就调用了_invoke_watson函数,它把UnhandledExceptionFilter重设(导致程序一开始设置的UnhandledExceptionFilter不可用),然后调用默认的UnhandledExceptionFilter之后,就TerminateProcess结束进程,这就是为什么程序总是静静地退出了。
本文源自:翔宇亭——IT乐园(http://),转载请保留此信息!声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
大家都知道,win10系统拥有强大的应用软件兼容功能,但是可能还是会出现问题,比如打开应用程序的时候提示错误异常代码0xc0000417,那要怎么解决这个应用程
可能大家也会遇到这个问题,win10激活错误代码0xc004c008,对于这个问题,相信还有很多朋友不太清楚,win10系统激活时遇到错误代码0xc004c00
在激活Windows10系统的过程中,有些朋友出现错误代码0xC004F211,那么win10提示错误代码0xC004F211如何解决呢?还有不知道的朋友一起和
大家都知道,近期有用户反应电脑无法开机显示蓝屏,提示0xc0000034错误代码。导致电脑出现蓝屏的原因有很多,而蓝屏代码0xc0000034一般是是电脑突然断
1析构函数中是否可以抛出异常首先我们看一个常见的问题,析构函数中是否可以抛出异常。答案是C++标准指明析构函数不能、也不应该抛出异常!C++异常处理模型是为C+