CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

TRY{ } CATCH{ }的作用.

楼主lghdragon(海)2001-08-15 10:32:46 在 VC/MFC / 基础类 提问

TRY      
  {   }      
  CATCH(CFileException,e)  
  {   }        
  END_CATCH    
  起什么作用?  
   
  谢谢! 问题点数:20、回复次数:4Top

1 楼ShyWJB(家宝)回复于 2001-08-15 10:34:33 得分 1

这时MFC异常宏,使用try{}catch{}吧,详见MSDNTop

2 楼tarkey(Gnufoo)回复于 2001-08-15 10:35:33 得分 7

一般程序在运行时候出错都会跳出程序。  
  如果你想在运行的时候自动处理出错信息就使用  
  try{}  
  catch(){}  
  它的意思是只要在try{}里面产生了错误,都会调用catch(){}来处理错误。  
  Top

3 楼hillfree(比较土,请原谅)回复于 2001-08-15 10:40:41 得分 12

使用一种强制的机制保证一些致命错误能够被处理是一个明智的选择。比如说内存错,文件错等等。    
  在C++中引入了一种在C语言中不存在的特性,错误捕捉机制(try/catch),这是一种强制性的机制,如果程序中抛出的异常未被成功捕捉,该异常将一直会沿着函数调用的顺序上升,直到被捕捉到为止。而默认的main函数之外存在有异常捕捉代码,这段默认的异常捕捉代码将会终止程序并报告异常的发生。    
   
  catch(...)将会捕捉所有未指明类型的异常。在这里我们可以看到异常是可以分为很多类的,而分类的依据就是抛出异常时候所使用的数据类型。    
   
  抛出异常的语法很简单,使用关键字throw就可以了,后面跟异常常的类型。如果单独使用throw则表示继续抛出当前异常,这种用法表明在处理当前异常后继续将该异常传递给其他的异常处理块进行处理。    
   
  在MFC中定义了一些专门用于处理异常的类,所有这些类都由CException派生,并各自负责不同的异常情况,在MFC内部出现异常并抛出异常时将会抛出以下异常类:    
          类                                                         用途      
  CException                                             异常基类      
  CNotSupportedException     进行系统不支持的操作时抛出的异常类      
  CMemoryException                       内存分配失败时抛出的异常类      
  CArchiveException                     文件串行化失败时抛出的异常类      
  CFileException                             文件读写错误时抛出的异常类      
  CResourceException                           资源无法装入时抛出的异常类      
  COleException                               OLE发生异常时抛出的异常类      
  CInternetException                     使用WinInet功能时抛出的异常类      
  CUserException                                 用户定义的异常类      
   
  //   详见   vchelp闻怡扬的vcmfc讲座.  
   
   
  Top

4 楼lghdragon(海)回复于 2001-08-15 10:52:51 得分 0

网络真是好   !  
   
  谢谢各位!  
  Top

相关问题

  • (在线等)如何保证程序出错后仍能继续运行?为什么try……catch不起作用
  • Try...Except不起作用
  • 关于 try catch
  • Try...catch...finally!
  • try catch 问题
  • try catch finally
  • try{}catch(...)一问
  • try{}catch{}finally{}
  • js的try catch
  • try .. 为什么不能 blockread 起作用?

关键词

  • 文件
  • 异常
  • 抛出
  • 捕捉
  • 时抛出的异常类
  • 处理
  • catch
  • 错误
  • 使用
  • 程序

得分解答快速导航

  • 帖主:lghdragon
  • ShyWJB
  • tarkey
  • hillfree

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo