国产探花免费观看_亚洲丰满少妇自慰呻吟_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結束進程,這就是為什么程序總是靜靜地退出了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄陵县| 同仁县| 婺源县| 合川市| 镇巴县| 南京市| 厦门市| 肃北| 疏勒县| 屏南县| 五常市| 鄂州市| 兖州市| 海宁市| 岳西县| 奉节县| 阜新| 营口市| 安新县| 渝中区| 莆田市| 金华市| 扬中市| 北海市| 枣庄市| 宁夏| 泌阳县| 大姚县| 陇川县| 江永县| 山阳县| 汨罗市| 榆社县| 会东县| 东阳市| 酒泉市| 新营市| 鄂尔多斯市| 卫辉市| 成武县| 四平市|