C++ estándar contiene varias clases de excepción integradas, typeinfo::bad_typeid es una de ellas. Esta es una excepción lanzada en typeid de puntero nulo. A continuación se muestra la sintaxis para el mismo:
Archivo de cabecera:
<typeinfo>
Sintaxis:
class bad_typeid;
Retorno: typeinfo ::bad_typeid devuelve un carácter terminado en nulo que se utiliza para identificar la excepción.
Nota: Para hacer uso de std::bad_typeid, se deben configurar los bloques try and catch apropiados.
A continuación se muestran los ejemplos para comprender mejor la implementación de typeinfo::bad_typeid :
Programa 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
Programa 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
Referencia: http://www.cplusplus.com/reference/typeinfo/bad_typeid/
Publicación traducida automáticamente
Artículo escrito por bansal_rtk_ y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA