错误信息的获取!相当于Delphi里的On E.Exception do showmessage(E.Message)! 刚从Delphi过来,多多帮忙!Thanks 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在VC里可以用这样的办法try{ //你的代码}catch(CFileException &e){ //已知类型的错误}catch(...){ //未知类型的错误}一般到了CATCH里就是严重的错误了,如果你想让它继续也可以。对于一些不能保证无错的代码(如DB,FILE)可以这样容错。对于内存错误也可以捕捉,当然最好还是一开始写码写的错误少一些 可以啊,比如studentforever(睡眼惺忪的鸭蛋) 例子里的CFileException类就有很多详细的成员说明问题。查一查MSDN吧。 不一定。因为C++中,任何类型都可以当成一个例外抛出。这样子,你就不一定能得到。当然,STL和MFC/ATL标准的例外,一般都带有信息。另外MFC中的例外如CFileException,如果用try catch来捉的话,注意把指针释放掉:try{...}catch (CFileException * e){...e.Delete} 更正:是 e->Delete()另: STL异常不需要删除。抄录一段MSDN中关于MFC的CException异常的文章(仅限于MFC)catch 块在下列情况时必须删除异常: catch 块引发新的异常。 当然,如果您再次引发同一异常,则不必删除该异常: catch(CException* e){ if (m_bThrowExceptionAgain) throw; // Do not delete e}执行从 catch 块中返回。 注意 删除 CException 时,请使用 Delete 成员函数删除该异常。不要使用 delete 关键字,因为如果异常不在堆上,则该关键字可能失败。捕捉和删除异常 使用 try 关键字设置 try 块。执行任何可引发 try 块中异常的程序语句。 使用 catch 关键字设置 catch 块。将异常处理代码放在 catch 块中。只有当 try 块中的代码引发 catch 语句中指定类型的异常时,才会执行 catch 块中的代码。 下面的主干显示 try 与 catch 块通常的排列方式: // Normal program statements...try{ // Execute some code that might throw an exception.}catch( CException* e ){ // Handle the exception here. // "e" contains information about the exception. e->Delete();} 从数据库验证的登录界面 获得当前输入焦点 写了一个在DirectDraw页面中加载JPG图片的函数(欢迎大家来找茬) 列表控件图标 建立空文档失败是怎么回事 为何数据保存到文件里是不可见字符? 指针释放的问题。&Gina 那位知道VC和matlab的神经网络编程的例子,万分感谢! WDM驱动程序设计中总是提到什么级别才能调用...? 下列取得内存的方法的区别? 谁有gbk2big5的码表? 枚举sql server服务器名
try
{
//你的代码
}
catch(CFileException &e)
{
//已知类型的错误
}
catch(...)
{
//未知类型的错误
}一般到了CATCH里就是严重的错误了,如果你想让它继续也可以。对于一些不能保证无错的代码(如DB,FILE)可以这样容错。对于内存错误也可以捕捉,当然最好还是一开始写码写的错误少一些
这样子,你就不一定能得到。
当然,STL和MFC/ATL标准的例外,一般都带有信息。
另外MFC中的例外如CFileException,如果用try catch来捉的话,注意把指针释放掉:
try
{...}
catch (CFileException * e)
{
...
e.Delete
}
另: STL异常不需要删除。抄录一段MSDN中关于MFC的CException异常的文章(仅限于MFC)
catch 块在下列情况时必须删除异常: catch 块引发新的异常。
当然,如果您再次引发同一异常,则不必删除该异常: catch(CException* e)
{
if (m_bThrowExceptionAgain)
throw; // Do not delete e
}
执行从 catch 块中返回。
注意 删除 CException 时,请使用 Delete 成员函数删除该异常。不要使用 delete 关键字,因为如果异常不在堆上,则该关键字可能失败。
捕捉和删除异常 使用 try 关键字设置 try 块。执行任何可引发 try 块中异常的程序语句。
使用 catch 关键字设置 catch 块。将异常处理代码放在 catch 块中。只有当 try 块中的代码引发 catch 语句中指定类型的异常时,才会执行 catch 块中的代码。 下面的主干显示 try 与 catch 块通常的排列方式: // Normal program statements
...try
{
// Execute some code that might throw an exception.
}
catch( CException* e )
{
// Handle the exception here.
// "e" contains information about the exception.
e->Delete();}