Exception (异常对象)
说明:
CppUnit测试框架中的基础异常类,继承于标准C++的exception,主要是捕获当assertion失败时候的异常,在CppUnit框架中异常分为三种:异常、失败、错误(为未知的异常)。出现异常后,包含相关的定位信息(SourceLine)和相关的详细信息(Message),方便进行查找和分析。
预定义宏:
类设计详解:
类名:
class CPPUNIT_APIException : public std::exception
类图:
成员变量:
protected:
typedef std::exception SuperClass; // 父类定义
Message m_message; // 详细信息
SourceLine m_sourceLine; // 定位点
std::string m_whatMessage; // 异常what信息(系统提供)
成员函数:
Exception(const Message &message = Message(),
const SourceLine &sourceLine =SourceLine() )
说明:
默认初始化构造函数,对成员变量进行默认初始化
Exception(const Exception &other )
说明:
拷贝构造函数
virtual~Exception() throw()
说明:
析构函数,没有异常抛出
Exception&operator =( const Exception &other )
说明:
赋值操作符重载
const char*what() const throw()
说明:
获得message中的简短信息和详细信息的组合字符串
SourceLinesourceLine() const
说明:
获得assertion和failed的定位点
Messagemessage() const
说明:
获得assertion和failed的时候添加的message信息
voidsetMessage( const Message &message )
说明:
设置assertion和failed时候的message信息
virtual Exception *clone()const
说明:
获得异常的一个拷贝,需要外部使用者维护其生命周期。(原型模型)