Chapter 3. General Concepts
3.3.1 Standard Exception Classes
l Standard exception classes can be divided into three groups:
1. Exceptions for language support
2. Exceptions for the C++ standard library
3. Exceptions for errors outside the scope of a program
l std::bad_exception
class E1;
class E2;
void f() throw(E1) //throws only exceptions of type E1
{
...
throw E1(); //throws exception of type E1
...
throw E2(); //calls unexpected(), which calls terminate()
}
if class bad_exception is part of the exception specification, then unexpected() usually rethrows an exception of this type:
class E1;
class E2;
void f() throw(E1, std::bad_exception)
//throws exception of type El or
//bad_exception for any other exception type
{
...
throw E1(); //throws exception of type E1
...
throw E2(); //calls unexpected(), which throws bad_exception
}
本文介绍了C++中标准异常处理类的三个主要类别:语言支持异常、标准库异常及程序外错误异常。并详细解释了std::bad_exception类的作用及其在函数抛出异常时的应用场景。
2027

被折叠的 条评论
为什么被折叠?



