国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

C++中拋出0xc0000417異常錯誤代碼的原因

2023-06-09 12:08:05
字體:
來源:轉載
供稿:網友

最近在編寫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結束進程,這就是為什么程序總是靜靜地退出了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 林甸县| 定日县| 连城县| 安陆市| 德州市| 芦溪县| 台湾省| 民丰县| 平邑县| 永吉县| 成安县| 东丽区| 黄浦区| 内江市| 四子王旗| 井研县| 平遥县| 望江县| 北辰区| 保康县| 阿坝| 广德县| 忻州市| 孝义市| 万全县| 阳西县| 洪洞县| 泾源县| 芒康县| 临海市| 苏州市| 镇赉县| 驻马店市| 邢台市| 准格尔旗| 遵义县| 武宣县| 崇阳县| 秦皇岛市| 如皋市| 嫩江县|