Open In App

Output of Java Programs | Set 39 (throw keyword)

Improve
Improve
Like Article
Like
Save
Share
Report

Prerequisite : Exception Handling, Throws

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




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


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?




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


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?




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


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?




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


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?




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


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.



Last Updated : 27 Sep, 2017
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads