vc ++中没有捕获异常

时间:2013-12-18 13:01:39

标签: visual-c++ try-catch httprequest unhandled-exception

在我的应用程序中,我收到了一条异常消息。当if()条件失败时,我抛出false时会发生这种情况。我得到的错误信息如下

Unhandled exception at 0x74fe812f in MyApp.exe: Microsoft C++ exception: bool at memory location 0x0015c87b..

生成此错误的代码是

if((dwStatus!= 302) && (dwStatus< 200 || dwStatus> 299))
    throw false;

此处dwStatus是DWORD,来自pHttpFile->QueryInfoStatusCode(dwStatus),其中pHttpFileCHttpFile的对象引用

代码位于try块中,并且还有相应的catch块。

如何发生此错误。

修改

这是catch块

catch(CException* pErr)
{
    TCHAR szErr[1024];
    pErr->GetErrorMessage(szErr,1024);
    pErr->Delete();
    bRet = FALSE;
}

2 个答案:

答案 0 :(得分:2)

您的catch块正在捕获CException*类型的异常,但您正在抛出bool类型的异常。如果要捕获该异常,则需要一个捕获块来捕获bool类型的异常:

catch(bool exception)
{
  //report the exception, or recover, or whatever
}

答案 1 :(得分:0)

异常是由你的投掷引起的。这就是应该做的事情。如果您的问题是关于未捕获异常的原因,请编辑您的问题并发布您的捕获代码。