2.unexpected()函数
若一个函数带有一个异常描述,而抛出异常后,该异常描述没有被列表,则void unex-pected()函数会被迅速调用。unexpected()函数不应该返回,但它能抛出一个异常。如果它抛出新的异常,异常描述是必要的。
当抛出或重新抛出一个异常时,异常描述不允许以下情况发生:如果异常描述不包括类bad_exception,terminate()函数会被调用,否则被抛出的异常是可以被自定义异常类对象替代的。
异常描述仅仅保证抛出被明确列出的异常。如果异常描述包括类std::bad_exception的异常对象,其他没有被列出的异常,会在unexpected()函数中被std::bad_exception替代。
类std::bad_exception的声明形式如下:
