error C2712: Cannot use __try in functions that require object unwinding

原文:http://social.msdn.microsoft.com/Forums/en/vcgeneral/thread/42985583-36fb-4e14-8642-bd837aac0727

I have a code that is called on a pointer that may be invalid (I have no control over its value):

 

__try { CString str = (LPCTSTR)wParam; //Work with 'str' now } __except(1) { //Memory fault }

 

But when I try to use it in a MFC project, it gives me this error:

error C2712: Cannot use __try in functions that require object unwinding

 

 

解决方法:

__try
{
  DoStuffWithWParam(wParam);
}
__except(1)
{
  //Memory fault
}

void DoStuffWithWParam(WPARAM wParam) {

CString str = (LPCTSTR)wParam;

  //Work with 'str' now
}

阅读(826) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
posted on 2016-01-25 16:36  玄冬  阅读(662)  评论(0编辑  收藏  举报