Output of Java Programs | Set 39 (throw keyword)

Prerequisite : Exception Handling, Throws

1. What will be the output of the following program?

filter_none

edit
close

play_arrow

link
brightness_4
code

class Geeks {
public
    static void main(String[] args)
    {
        throw new ArithmeticException();
    }
}

chevron_right


Options:
1. RuntineException:java.lang.ArithmeticExcetion
2. RuntineException:/ by zero
3. RuntineException:java.lang.ArithmeticExcetion:/ by zero
4. RuntineException:ArithmeticExcetion

The answer is option (1)

Explanation: In the above program, we are throwing an exception object explicitly to the JVM and the default handler print the description of the exception object, without any description of the object because here we are calling default constructor.

2. What will be the output of the following program?

filter_none

edit
close

play_arrow

link
brightness_4
code

class Geeks {
    static ArithmeticException ae = new ArithmeticException();
public
    static void main(String[] args)
    {
        throw ae;
    }
}

chevron_right


Options:
1. RuntineException:java.lang.ArithmeticExcetion
2. RuntineException:/ by zero
3. RuntineException:java.lang.ArithmeticExcetion:/ by zero
4. RuntineException:ArithmeticExcetion

The answer is option (1)

Explanation: In the above program, we are throwing an exception object explicitly to the JVM and the default handler print the description of the exception object.

3. What will be the output of the following program?

filter_none

edit
close

play_arrow

link
brightness_4
code

class Geeks {
    static ArithmeticException ae;
public
    static void main(String[] args)
    {
        throw ae;
    }
}

chevron_right


Options:
1. RuntineException:java.lang.ArithmeticExcetion
2. RuntineException:NullPointerException
3. No Output
4. RuntineException:ArithmeticExcetion

The answer is option (2)

Explanation: Here ae refers to null because static variable is initialized by the compiler by giving default value and the value of reference is null. Thats why we will get RuntimeException saying Exception in thread “main” java.lang.NullPointerException

4. What will be the output of the following program?

filter_none

edit
close

play_arrow

link
brightness_4
code

class Geeks {
public
    static void main(String[] args)
    {
        throw new ArithmeticException("/ by zero");
        System.out.println("Hello Geeks");
    }
}

chevron_right


Options:
1. Run-time Exception
2. Compile-time error
3. No Output
4. Compile-time Exception

The answer is option (2)

Explanation: In the above program, we are throwing an exception object explicitly to the JVM but after throwing an exception object explicitly we cant declare any statement directly because that statement will not get the chance to execute. Thats why we will get compile time error saying error: unreachable statement

5. What will be the output of the following program?

filter_none

edit
close

play_arrow

link
brightness_4
code

class Geeks {
public
    static void main(String[] args)
    {
        throw new Geeks();
        System.out.println("Hello Geeks");
    }
}

chevron_right


Options:
1. Hello Geeks
2. No Output
3. Run-time Exception
4. Compile-time error

The answer is option (4)

Explanation: we can use throw keyword only for throwable object types. If we are trying to use for normal java objects, we will get compile time error saying incompatible types.

This article is contributed by Bishal Kumar Dubey. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.



My Personal Notes arrow_drop_up