typeinfo::bad_typeid en C++ con ejemplos

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;
}
Producción:

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;
}
Producción:

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *