C语言中,如何将标准异常的基类exception改写成一个长尾?
- 内容介绍
- 文章标签
- 相关推荐
本文共计790个文字,预计阅读时间需要4分钟。
C++语言中的异常或标准库抛出的异常都是`exception`的子类,被称为标准异常(Standard Exception)。你可以通过以下语句捕获所有标准异常:`try{ // 可能抛出异常的语句 } catch(exception e){ // 异常处理 }`
C++语言本身或者标准库抛出的异常都是 exception 的子类,称为标准异常(Standard Exception)。你可以通过下面的语句来捕获所有的标准异常:
try{
//可能抛出异常的语句
}catch(exception &e){
//处理异常的语句
}
之所以使用引用,是为了提高效率。如果不使用引用,就要经历一次对象拷贝(要调用拷贝构造函数)的过程。
exception 类位于 <exception> 头文件中,它被声明为:
class exception{ public: exception () throw(); //构造函数 exception (const exception&) throw(); //拷贝构造函数 exception& operator= (const exception&) throw(); //运算符重载 virtual ~exception() throw(); //虚析构函数 virtual const char* what() const throw(); //虚函数 } 这里需要说明的是 what() 函数。what() 函数返回一个能识别异常的字符串,正如它的名字“what”一样,可以粗略地告诉你这是什么异常。
本文共计790个文字,预计阅读时间需要4分钟。
C++语言中的异常或标准库抛出的异常都是`exception`的子类,被称为标准异常(Standard Exception)。你可以通过以下语句捕获所有标准异常:`try{ // 可能抛出异常的语句 } catch(exception e){ // 异常处理 }`
C++语言本身或者标准库抛出的异常都是 exception 的子类,称为标准异常(Standard Exception)。你可以通过下面的语句来捕获所有的标准异常:
try{
//可能抛出异常的语句
}catch(exception &e){
//处理异常的语句
}
之所以使用引用,是为了提高效率。如果不使用引用,就要经历一次对象拷贝(要调用拷贝构造函数)的过程。
exception 类位于 <exception> 头文件中,它被声明为:
class exception{ public: exception () throw(); //构造函数 exception (const exception&) throw(); //拷贝构造函数 exception& operator= (const exception&) throw(); //运算符重载 virtual ~exception() throw(); //虚析构函数 virtual const char* what() const throw(); //虚函数 } 这里需要说明的是 what() 函数。what() 函数返回一个能识别异常的字符串,正如它的名字“what”一样,可以粗略地告诉你这是什么异常。

