TRY 和 CATHCH 为什么不能嵌套在 if-else 语句中,该如何处理?
rmryt 2004-12-02 06:02:35 CFileDialog fileDialog(FALSE);
if (fileDialog.DoModal() == IDOK)
{
strReceiveFilePath = fileDialog.GetPathName();
/* TRY
{
CFile file(strReceiveFilePath, CFile::modeCreate|CFile::typeBinary);
file.Close();
}
CATCH (CFileException, e)
{
MessageBox("创建文件失败!", "错误", MB_OK|MB_ICONERROR);
}*/
}
else
{
}
像上面的代码。当在保存文件对话框中指定一个文件时,便创建文件,但是因为创建过程中可能有异常,于是我用TRY-CATCH语句,但是这样编译时出来一大串问题,意思就是if-else语句不配套了,而且还有一些其他的错误根本就是无中生有。但只要像上面那样吧TRY-CATCH注释掉就没问题了。
谁能告诉我是怎么回事,TRY-CATCH是不是有什么特别的用法,我这样的问题该怎么处理?谢谢!