C++ “a”是什么;微软C++;例外情况;?

C++ “a”是什么;微软C++;例外情况;?,c++,exception,C++,Exception,这主要是出于好奇,但在调试时,我经常看到这样一行: MyApp.exe 0x75 838 12F的第一个机会异常:微软C++异常:内存位置0x039 Be09C…< /P>的CTBAdPusiPoFielExtExchange 我想知道,为什么它被称为“微软”C++异常? 这是否是一个普通的C++异常?它是从哪个类派生的?“微软C++异常”是异常的类型,还是它是CTBAdPutPoFielExtExabor派生的异常的父类型? 为什么调试器会这样记录?< /p> < p>它不是“微软”C++异

这主要是出于好奇,但在调试时,我经常看到这样一行:

MyApp.exe 0x75 838 12F的第一个机会异常:微软C++异常:内存位置0x039 Be09C…< /P>的CTBAdPusiPoFielExtExchange 我想知道,为什么它被称为“微软”C++异常?

这是否是一个普通的C++异常?它是从哪个类派生的?“微软C++异常”是异常的类型,还是它是CTBAdPutPoFielExtExabor派生的异常的父类型? <>为什么调试器会这样记录?< /p> < p>它不是“微软”C++异常。这是一个“MicrosoftC++”例外

使用
RaiseException
函数引发操作系统异常时,调用方指定异常代码。存在一些标准异常代码,如0xC00000FD表示堆栈溢出,0xC0000005表示访问冲突。但是您也可以提高自定义异常代码,而微软C++工具链使用的用于所有C++异常的自定义异常代码为0xE06D7363。p>

注意操作系统异常和C++异常是不同的概念。调试器中的消息是关于操作系统异常的


<>调试器在做礼貌,而不是报告“异常0xe06d7363”,它说“微软C++异常”,它甚至为您带来额外的步骤。< / P>我的猜测是它在谈论“微软C++”,就像“通过MS编译器编译的C++”,而不是“微软异常”。但我只是猜一下…@我刚检查过,你是对的!我抛出了一个STD::RunTimeIn错误,它被报告为MyApp.exe的0x75 838 12F第一次机会异常:微软C++异常:STD::运行时内存在0x012DCcc0….. /代码>谢谢!首次机会例外情况如中所述: