技术宅,fat-man

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

导航

2013年9月20日 #

C++异常处理小例

摘要: 学习程序的好方法是阅读代码和改进代码。下面的程例来自《An Overview of the C++ Programming Language》(5.1 异常和错误处理)程序用途:使用C++的异常机制,报告stack的上溢或者下溢。(我适当的把代码补全。)version 1 演示了基本的异常用法。从try里抛出一个异常(实例或对象),由catch里的类接受。1version12//From:AnOverviewoftheC++ProgrammingLanguage34#include5#include6#include7usingnamespacestd;89templateclassStack 阅读全文

posted @ 2013-09-20 01:00 codestyle 阅读(286) 评论(0) 推荐(0)

主流语言的异常处理对比

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

posted @ 2013-09-20 00:32 codestyle 阅读(162) 评论(0) 推荐(0)