Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 代码如何捕获异常?_C++_Visual Studio_Exception_Assembly_Exception Handling - Fatal编程技术网

C++ 代码如何捕获异常?

C++ 代码如何捕获异常?,c++,visual-studio,exception,assembly,exception-handling,C++,Visual Studio,Exception,Assembly,Exception Handling,代码如何捕获异常(try,catch(…) 这段代码在捕获异常的函数的“head”中是什么意思 mov dword ptr [ebp-4], 0 这(在“try”的开头)是什么?函数没有任何局部变量 功能: int SUM(int a, int b) { try{} catch(...){} return 0; } FS段中存储了什么?存储在FS:[0]中的值是指向异常注册结构的链接列表的指针。请阅读此处了解更多详细信息: MSVC如何实现异常(在x86上): 这涵盖

代码如何捕获异常(try,catch(…)

这段代码在捕获异常的函数的“head”中是什么意思

mov dword ptr [ebp-4], 0
这(在“try”的开头)是什么?函数没有任何局部变量

功能:

int SUM(int a, int b)
{
    try{}
    catch(...){}
    return 0;
}

FS段中存储了什么?

存储在
FS:[0]
中的值是指向
异常注册
结构的链接列表的指针。请阅读此处了解更多详细信息:


MSVC如何实现异常(在x86上):

这涵盖了SEH(< C++ >代码> /x catch /yx>最后/<代码>)和C++(Time/catch >代码>)异常实现。


MSVC(x64)和GCC(Linux/iOS)如何实现异常处理:

注意:生成的代码非常特定于VC++32位。用于64位的VC++(以及所有安腾编译器)使用零成本模型,这是完全不同的。
int SUM(int a, int b)
{
    try{}
    catch(...){}
    return 0;
}