Error Handling(C++ Programming ) Questions and Answers

Question 1.

Which exception is thrown by dynamic_cast?


  1.    bad_cast
  2.    bad_typeid
  3.    bad_exception
  4.    bad_alloc
Explanation:-
Answer: Option A. -> bad_cast

bad_cast exception is thrown by dynamic_cast.



Question 2.

How do define the user-defined exceptions?


  1.    inheriting and overriding exception class functionality.
  2.    overriding class functioality.
  3.    inheriting class functionality
  4.    none of the mentioned
Explanation:-
Answer: Option A. -> inheriting and overriding exception class functionality.

None.



Question 3.


What is the output of this program?


1.
#include
2.
#include
3.
using namespace std;
4.
struct MyException : public exception
5.
{
6.
const char * what () const throw ()
7.
{
8.
return "C++ Exception";
9.
}
10.
};
11.
int main()
12.
{
13.
try
14.
{
15.
throw MyException();
16.
}
17.
catch(MyException& e)
18.
{
19.
cout
  1.    C++ Exception
  2.    Exception caught
  3.    Exception caught C++ Exception
  4.    error
Explanation:-
Answer: Option C. -> Exception caught C++ Exception

We are defining the user-defined exception in this program.
Output:
$ g++ excep4.cpp
$ a.out
C++ Exception
Exception caught



Question 4.


What is the output of this program?


1.
#include
2.
#include
3.
using namespace std;
4.
int main ()
5.
{
6.
try
7.
{
8.
int* myarray = new int[1000];
9.
cout
  1.    allocated
  2.    Standard exception
  3.    Depends on the memory
  4.    error
Explanation:-
Answer: Option C. -> Depends on the memory

In this program, We are allocating the memory for array. If it is allocated means, no exception 

will arise and if there is no size in memory means, Exception will arise.
Output:
$ g++ excep3.cpp
$ a.out
allocated



Question 5.


What is the output of this program?


1.
#include
2.
#include
3.
using namespace std;
4.
class myexception: public exception
5.
{
6.
virtual const char* what() const throw()
7.
{
8.
return "My exception";
9.
}
10.
} myex;
11.
int main ()
12.
{
13.
try
14.
{
15.
throw myex;
16.
}
17.
catch (exception& e)
18.
{
19.
cout
  1.    exception
  2.    error
  3.    My exception
  4.    runtime error
Explanation:-
Answer: Option C. -> My exception

This is a standard exception handler used in the class.
Output:
$ g++ excep2.cpp
$ a.out
My exception



Question 6.


What is the output of this program?


1.
#include
2.
using namespace std;
3.
int main ()
4.
{
5.
try
6.
{
7.
throw 20;
8.
}
9.
catch (int e)
10.
{
11.
cout
  1.    20
  2.    An exception occurred
  3.    error
  4.    An exception occurred 20
Explanation:-
Answer: Option D. -> An exception occurred 20

We are handling the exception by throwing that number. So the output is printed with the given number.
Output:
$ g++ excep1.cpp
$ a.out
An exception occurred 20



Question 7.


What is the output of this program?


1.
#include
2.
using namespace std;
3.
double division(int a, int b)
4.
{
5.
if (b == 0)
6.
{
7.
throw "Division by zero condition!";
8.
}
9.
return (a / b);
10.
}
11.
int main ()
12.
{
13.
int x = 50;
14.
int y = 0;
15.
double z = 0;
16.
try
17.
{
18.
z = division(x, y);
19.
cout
  1.    50
  2.    0
  3.    Division by zero condition!
  4.    error
Explanation:-
Answer: Option C. -> Division by zero condition!

It's a mathematical certainty, We can't divide by zero, So we're arising a exception.
Output:
$ g++ excep.cpp
$ a.out
Division by zero condition!




Question 8.

Which is used to throw a exception?


  1.    throw
  2.    try
  3.    catch
  4.    none of the mentioned
Explanation:-
Answer: Option A. -> throw

None.



Question 9.

What is the use of the 'finally' keyword?


  1.    It used to execute at the starting of the program
  2.    It will be executed at the end of the program even if the exception arised.
  3.    Both a & b
  4.    none of the mentioned
Explanation:-
Answer: Option B. -> It will be executed at the end of the program even if the exception arised.

finally keyword will be executed at the end of all the exception.


Question 10.

Which keyword is used to handle the expection?


  1.    try
  2.    throw
  3.    catch
  4.    none of the mentioned
Explanation:-
Answer: Option C. -> catch

When we found a exception in the program, We need to throw that and we handle that by using