excepción::qué() en C++ con ejemplos

La excepción::qué() solía obtener una excepción de identificación de string. Esta función devuelve una secuencia de caracteres terminada en nulo que se puede utilizar para identificar la excepción. A continuación se muestra la sintaxis para el mismo:

Archivo de cabecera:

#include<exception>

Sintaxis:

virtual const char* what() const throw();

Devolución: la función std::what() devuelve una secuencia de caracteres terminada en nulo que se usa para identificar la excepción.

Nota: Para hacer uso de std::what() , uno debe configurar los bloques try and catch apropiados.

A continuación se muestran los programas para comprender mejor la implementación de std::what() :

Programa 1:

// C++ code for exception::what()
#include <bits/stdc++.h>
  
using namespace std;
  
struct gfg : exception {
    const char* what() const noexcept
    {
        return "GeeksforGeeks!! "
               "A Computer Science"
               " Portal For Geeks";
    }
};
  
// main method
int main()
{
  
    // try block
    try {
        throw gfg();
    }
  
    // catch block to handle the errors
    catch (exception& gfg1) {
        cout << gfg1.what();
    }
  
    return 0;
}
Producción:

GeeksforGeeks!! A Computer Science Portal For Geeks

Programa 2:

// C++ code for exception::what()
  
#include <bits/stdc++.h>
  
using namespace std;
  
struct geeksforgeeks : exception {
    const char* what() const noexcept
    {
        return "Hey!!";
    }
};
  
// main method
int main()
{
  
    // try block
    try {
        throw geeksforgeeks();
    }
  
    // catch block to handle the errors
    catch (exception& gfg) {
        cout << gfg.what();
    }
  
    return 0;
}
Producción:

Hey!!

Referencia: http://www.cplusplus.com/reference/exception/exception/what/

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 *