技术宅,fat-man

增加语言的了解程度可以避免写出愚蠢的代码

导航

主流语言的异常处理对比

  • C++的try-catch不拦截硬件异常(例如除数为0的异常)只拦截软件异常
  • C++的异常可以按调用层次逐层返回,直到遇到可以拦截它的异常处理代码
  • C++的catch(...)可以拦截全部的软件异常
  • C++发生异常并被拦截时,并不能自动释放从堆上申请的内存 (这样的话或许每个代码层次都需要try-catch)
  • C++的catch块并不能看到try块里定义的变量,如果catch块要访问这些变量,要把变量定义在try-catch同一层
  • C语言的__try - __catch可以拦截到 硬件异常

 

C#的异常处理似乎可以拦截硬件异常(至少除数为0的异常可以被拦截)

C#的异常也是逐层返回,直到遇到可以拦截他的异常处理代码

 

posted on 2013-09-20 00:32  codestyle  阅读(154)  评论(0编辑  收藏  举报