📜  Java程序的输出 |第39集(throw关键字)

📅  最后修改于: 2022-05-13 01:56:10.960000             🧑  作者: Mango

Java程序的输出 |第39集(throw关键字)

先决条件:异常处理,抛出

1. 以下程序的输出是什么?

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

选项:
1. RuntineException: Java.lang.ArithmeticExcetion
2. RuntineException:/ 为零
3. RuntineException: Java.lang.ArithmeticExcetion:/ 为零
4. RuntineException:ArithmeticExcetion

The answer is option (1)

说明:在上面的程序中,我们显式地向JVM抛出了一个异常对象,默认处理程序打印了异常对象的描述,没有任何对象的描述,因为这里我们调用的是默认构造函数。

2. 以下程序的输出是什么?



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

选项:
1. RuntineException: Java.lang.ArithmeticExcetion
2. RuntineException:/ 为零
3. RuntineException: Java.lang.ArithmeticExcetion:/ 为零
4. RuntineException:ArithmeticExcetion

The answer is option (1)

说明:在上面的程序中,我们显式地向 JVM 抛出一个异常对象,默认处理程序打印异常对象的描述。

3. 下面程序的输出是什么?

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

选项:
1. RuntineException: Java.lang.ArithmeticExcetion
2. RuntineException:NullPointerException
3. 无输出
4. RuntineException:ArithmeticExcetion

The answer is option (2)

说明:这里ae指的是null,因为静态变量是编译器通过给定默认值初始化的,引用的值为null。这就是为什么我们会在线程“main” Java.lang.NullPointerException 中得到 RuntimeException 说 Exception

4. 以下程序的输出是什么?

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

选项:
1. 运行时异常
2. 编译时错误
3. 无输出
4. 编译时异常

The answer is option (2)

说明:在上面的程序中,我们向JVM显式抛出了一个异常对象,但是在显式抛出一个异常对象之后,我们不能直接声明任何语句,因为该语句将没有机会执行。这就是为什么我们会得到编译时错误说 error: unreachable statement

5. 以下程序的输出是什么?

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

选项:
1.你好极客
2. 无输出
3. 运行时异常
4. 编译时错误

The answer is option (4)

说明:我们只能对可抛出的对象类型使用 throw 关键字。如果我们尝试使用普通的Java对象,我们会得到编译时错误,提示类型不兼容。