exception::what() in C++ with Examples

The exception::what() used to get string identifying exception. This function returns a null terminated character sequence that may be used to identify the exception. Below is the syntax for the same:

Header File:

#include<exception>

Syntax:

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

Return: The function std::what() return a null terminated character sequence that is used to identify the exception.

Note: To make use of std::what(), one should set up the appropriate try and catch blocks.

Below are the programs to understand the implementation of std::what() in a better way:

Program 1:




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


Output:

w3wiki!! A Computer Science Portal For Beginner

Program 2:




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


Output:

Hey!!

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



Contact Us