當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ typeinfo::bad_typeid用法及代碼示例


標準 C++ 包含多個 內置 異常類,typeinfo::bad_typeid 就是其中之一。這是對空指針的 typeid 拋出的異常。以下是相同的語法:

頭文件:

<typeinfo>

用法:

class bad_typeid;

返回:typeinfo::bad_typeid 返回一個空終止字符,用於標識異常。

注意:要使用 std::bad_typeid,應該設置適當的 try 和 catch 塊。



下麵的例子可以更好地理解 typeinfo::bad_typeid 的實現:

程序1:


// C++ code for std::bad_typeid
#include <bits/stdc++.h>
  
using namespace std;
  
struct gfg {
    virtual void func();
};
  
// main method
int main()
{
    gfg* g = nullptr;
  
    // try block
    try {
        cout << typeid(*g).name()
             << endl;
    }
  
    // catch block to handle the errors
    catch (const bad_typeid& fg) {
        cout << fg.what() << endl;
    }
  
    return 0;
}
輸出:
std::bad_typeid

程序2:


// C++ code for std::bad_typeid
#include <bits/stdc++.h>
  
using namespace std;
  
struct geeksforgeeks {
    virtual void
    A_Computer_Science_Portal_For_Geeks();
};
  
// main method
int main()
{
    geeksforgeeks* gfg = nullptr;
  
    // try block
    try {
        cout << typeid(*gfg).name() << endl;
    }
  
    // catch block to handle the errors
    catch (const bad_typeid& fg) {
        cout << fg.what() << endl;
    }
  
    return 0;
}
輸出:
std::bad_typeid

參考: http://www.cplusplus.com/reference/typeinfo/bad_typeid/




相關用法


注:本文由純淨天空篩選整理自bansal_rtk_大神的英文原創作品 typeinfo::bad_typeid in C++ with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。