📜  C++中带有示例的exception :: bad_exception

📅  最后修改于: 2021-05-30 05:24:45             🧑  作者: Mango

标准C++包含几个内置的异常类, exception :: bad_exception是其中之一。这是意外的处理程序引发的异常。以下是相同的语法:

头文件:

include

句法:

class bad_exception;

返回值: exception :: bad_exception返回一个空终止字符,用于标识异常。

注意:要使用exception :: bad_exception ,应设置适当的try和catch块。

以下示例以更好的方式理解exception :: bad_exception的实现:

程序1:

// C++ code for std::bad_exception
#include 
  
using namespace std;
  
void func()
{
    throw;
}
  
void geeksforgeeks() throw(bad_exception)
{
    throw runtime_error("test");
}
  
// main method
int main()
{
    set_unexpected(func);
  
    // try block
    try {
        geeksforgeeks();
    }
  
    // catch block to handle the errors
    catch (const bad_exception& gfg) {
        cout << "Caught exception "
             << gfg.what() << endl;
    }
    return 0;
}
输出:
Caught exception std::bad_exception

程序2:

// C++ code for std::bad_exception
#include 
  
using namespace std;
  
void gfg()
{
    throw;
}
  
void A_Computer_Science_Portal_For_Geeks()
     throw(bad_exception)
{
    throw runtime_error("test");
}
  
// main method
int main()
{
    set_unexpected(gfg);
  
    // try block
    try {
        A_Computer_Science_Portal_For_Geeks();
    }
  
    // catch block to handle the errors
    catch (const bad_exception& a) {
        cout << "Caught exception "
             << a.what() << endl;
    }
    return 0;
}
输出:
Caught exception std::bad_exception

参考: http : //www.cplusplus.com/reference/exception/bad_exception/

要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”