📜  Java程序的输出 |设置 44(抛出关键字)

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

Java程序的输出 |设置 44(抛出关键字)

先决条件:投掷

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

class Geeks throws ArithmeticException {
public
    static void main(String[] args) throws ArithmeticException
    {
        System.out.printl(10 / 0);
        System.out.println("Hello Geeks");
    }
}

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

输出:

The answer is option (4)

说明:在上面的程序中,我们从类中抛出 ArithmeticException。但是当我们使用 throws 关键字时,我们必须注意约定,我们可以将 throws 关键字用于方法和构造函数,但不能用于类。



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

class Geeks {
public
    static void main(String[] args) throws Geeks
    {
        Thread.sleep(10000);
        System.out.println("Hello Geeks");
    }
}

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

输出:

The answer is option (2)

说明:我们只能对 throwable 类型使用 throws 关键字。如果我们尝试用于普通的Java类,那么我们将收到编译时错误,提示类型不兼容。

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

class Test {
    void m1() throws ArithmeticException
    {
        throw new ArithmeticException("Calculation error");
    }
    void m2() throws ArithmeticException
    {
        m1();
    }
    void m3()
    {
        try {
            m2();
        }
        catch (ArithmeticException e) {
            System.out.println("ArithmeticException");
        }
    }
public
    static void main(String args[])
    {
        Test t = new Test();
        t.m3();
        System.out.println("Handled by Geeks");
    }
}

选项:
1.计算错误
2.算术异常
3. 由极客处理
4. Geeks 处理的 ArithmeticException
输出:

The answer is option (4)

说明:如您所见,我们在 m1() 方法中发生了异常,该异常已在链调用方法 m3() 中处理。

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



class Test {
    void Div() throws ArithmeticException
    {
        int a = 25, b = 0, rs;
        rs = a / b;
        System.out.print("\n\tThe result is : " + rs);
    }
public
    static void main(String[] args)
    {
        Test t = new Test();
        try {
            t.Div();
        }
        catch (ArithmeticException e) {
            System.out.print("\n\tError : " + e.getMessage());
        }
        System.out.print("\n\tBYE GEEKS");
    }
}

选项:
1. 再见极客
2.编译时错误
3.错误:/由零
4.错误:/为零
再见极客

输出:

The answer is option (4)

说明:在上面的程序中,Div() 方法抛出了一个 ArithmeticException,因此,我们在 try-catch 块中编写了 Div() 方法的调用语句。

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

class Test {
public
    static void main(String[] args)
    {
        fun();
    }
public
    static void fun()
    {
        moreFun();
    }
public
    static void moreFun() throws InterruptedException
    {
        Thread.sleep(10000);
        System.out.println("GEEKS");
    }
}

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

The answer is option (3)

说明:在上面的程序中,我们从可能引发异常的方法中抛出 InterruptedException。但是我们会得到编译时错误,说 error: unreported exception InterruptedException;必须被捕获或声明为抛出,因为 moreFun() 方法由 fun() 方法调用,而 fun() 方法由 main() 方法调用。这就是为什么我们必须为每个调用者使用 throws 关键字。