Q:

C++ Exceptional Handling | Find output programs | Set 1

belongs to collection: C++ find output programs

0

This section contains the C++ find output programs with their explanations on C++ Exceptional Handling (set 1).

Program 1:

#include <iostream>
using namespace std;

int main()
{
    try {
        int num1 = 10;
        int num2 = 0;
        int res = 0;

        res = num1 / num2;
    }
    catch (exception e) {
        cout << "Exception: Divide By Zero" << endl;
    }
    return 0;
}

Program 2:

#include <iostream>

#define DEVIDE_BY_ZERO 101
using namespace std;

int main()
{
    try {
        int num1 = 10;
        int num2 = 0;
        int res = 0;

        if (num2 == 0)
            throw DEVIDE_BY_ZERO;
        res = num1 / num2;
    }
    catch (int exp_code) {
        cout << "Exception code: " << exp_code << endl;
    }
    return 0;
}

Program 3:

#include <iostream>
using namespace std;

int main()
{
    try {
        int num1 = 10;
        int num2 = 0;
        int res = 0;

        if (num2 == 0)
            throw "Divide By Zero";
        res = num1 / num2;
    }
    catch (char* exp) {
        cout << "Exception: " << exp << endl;
    }
    return 0;
}

Program 4:

#include <iostream>
using namespace std;

void funDiv(int X, int Y)
{
    int res = 0;

    if (Y == 0)
        throw "Divide By Zero";
    res = X / Y;
    cout << res << endl;
}

int main()
{
    try {
        int num1 = 10;
        int num2 = 0;

        funDiv(num1, num2);
    }
    catch (const char* exp) {
        cout << "Exception: " << exp << endl;
    }
    return 0;
}

Program 5:

#include <iostream>
#include <exception>
using namespace std;

void funDiv(int X, int Y)
{
    int res = 0;

    if (Y == 0) {
        exception E;
        throw E;
    }

    res = X / Y;
    cout << res << endl;
}

int main()
{
    try {
        int num1 = 10;
        int num2 = 0;

        funDiv(num1, num2);
    }
    catch (exception) {
        cout << "Exception generated";
    }
    return 0;
}

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Answer Program 1:

Output:

Floating point exception

Explanation:

Here, we created two code blocks "try" and "catch". We declared 3 local variables in num1, num2, and res.

Here, variable num1 is initialized with 10 and num2 initialized with 0 then the below expression will generate a runtime exception:

res = num1/num2;

Because the above expression will generate the situation of "Divide By Zero". But here we did not use "throw" to throw the exception, that's why the program will crash at runtime.

Answer Program 2:

Output:

Exception code: 101

Explanation:

Here, we created two code blocks "try" and "catch". We declared 3 local variables in num1, num2, and res.

Here, variable num1 is initialized with 10 and num2 initialized with 0 then the below expression will generate a runtime exception:

res = num1/num2;

But here we handled the exception; if num2 is 0 then defined error code will be thrown and caught by "catch" block.

In the catch block, we printed the received exception code using cout.

Answer Program 3:

Output:

terminate called after throwing an instance of 'char const*'
Aborted (core dumped)

Explanation:

The above crashed at runtime because here we have thrown a constant string ("Divide By Zero") using "throw" keyword, and using char *exp in the "catch" block.

To resolve the problem we need to use const char *exp instead of char *exp.

Answer Program 4:

Output:

Exception: Divide By Zero

Explanation:

Here, we defined a function funDiv() with two arguments X and Y. Here, we checked if the value of Y is 0 then it will throw a string message using the "throw" keyword.

Now coming to the main() function, here we declared local variable num1 and num2 inside the “try” block, and call funDiv() function to perform division.

The string message is thrown by funDiv() function, caught by the "catch" block, and print the message using cout on the console screen.

Answer Program 5:

Output:

Exception generated

Explanation:

Here, we defined a function funDiv() with two arguments X and Y. Here, we checked if the value of Y is 0 then it will throw an object of exception class using the "throw" keyword.

Now coming to the main() function, here we declared local variable num1 and num2 inside the “try” block, and call funDiv() function to perform division.

The exception object was thrown by funDiv() function, caught by the "catch" block, and print the message using cout on the console screen.

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

C++ find output programs

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now
C++ Exceptional Handling | Find output programs | ... >>
<< C++ Inheritance | Find output programs | Set 5...