Open In App
Related Articles

C++ | Exception Handling | Question 12

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report
What happens when a function throws an error but doesn’t specify it in the list of exceptions it can throw. For example, what is the output of following program?
#include <iostream>
using namespace std;
  
// Ideally it should have been "int fun() (int)"
int fun()
{
    throw 10;
}
  
int main()
{
    try
    {
        fun();
    }
    catch (int )
    {
        cout << "Caught";
    }
    return 0;
}

                    
(A) Compiler Error (B) No compiler Error. Output is “Caught”

Answer: (B)

Explanation: C++ compiler doesn’t check enforce a function to list the exceptions that it can throw. In Java, it is enforced. It is up to the programmer to specify. Being a civilized programmer, a programmer should specify the list.

Quiz of this Question

Last Updated : 28 Jun, 2021
Like Article
Save Article
Share your thoughts in the comments
Similar Reads