C++中可获得抛出位置和捕获位置的异常类[1]

[入库:2005年8月19日] [更新:2007年3月24日]

本文简介:选择自 yangjundeng 的 blog

可获得抛出异常位置和捕获异常位置的异常类

联系方法:dyj057@gmail.com

源代码:http://www.cnblogs.com/files/dyj057/typeid.rar

我觉得c++中使用异常在使用中最大的不方便就是在抛出异常的时候没有位置信息,当程序到一定规模的时候,也很难确定异常从那里捕获的,不利于程序的调试。而在c#中,我发现它的异常的功能太强大了,可以确定异常的位置和捕获的位置,但它是靠clr的功能实现的。那么我们怎么在c++中实现这个功能呢?

下面我就为大家介绍我写的可以获得抛出异常位置和捕获异常位置的异常类。该类使用标准c++实现,继承标准异常exception。你也可以按照这个思路实现一个mfc的版本。我在使用的时候就是使用两个不同的版本。mfc的版本的功能要强大一点,它内置了win32错误代码转换错误信息的转换函数,为程序提供更强大的异常处理功能。

现在来看看类的定义:

class more_exception :

        public exception

    {

    public:

        more_exception(string what, string throw_file,

            string throw_function, int throw_line) ;

本文关键:C++中可获得抛出位置和捕获位置的异常类
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top