📜  Java程序的输出 |第 41 组(试捕)

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

Java程序的输出 |第 41 组(试捕)

先决条件: try-catch,异常处理
1. 以下程序的输出是什么?

Java
class Geeks
{
    public static void main(String[] args)
    {
        try
        {
            System.out.println(1/0);
        }
        catch(ArithmeticException e)
        {
            System.out.println(e.getMessage());
        }
    }
}


Java
class Geeks
{
    public static void main(String[] args)
    {
        try
        {
            System.out.println(1/0);
        }
        catch(ArithmeticException e)
        {
            System.out.println("Hello Geeks");
        }
        catch(Exception e)
        {
            System.out.println("Welcome");
        }
    }
}


Java
class Geeks
{
    public static void main(String[] args)
    {
        try
        {
            System.out.println(1/0);
        }
        catch(Exception e)
        {
            System.out.println("Hello Geeks");
        }
        catch(ArithmeticException e)
        {
            System.out.println("Welcome");
        }
    }
}


Java
class Geeks
{
    public static void main(String[] args)
    {
        try
        {
            System.out.println(1/0);
        }
    }
}


Java
class Geeks
{
    public static void main(String[] args)
    {
        try
        {
            System.out.println(1/0);
        }
        System.out.println("Hello GEEKS");
        catch(ArithmeticException e)
        {
            System.out.println("Welcome");
        }
    }
}


选项:
1. Java.lang.ArithmeticExcetion
2. / 由零
3. Java.lang.ArithmeticExcetion:/ 为零
4.算术异常

The answer is option (2)

说明:在上面的程序中,我们调用了 getMessage() 方法来打印异常信息。我们知道 getMessage() 方法将始终打印为 / 为零的异常描述。

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

Java

class Geeks
{
    public static void main(String[] args)
    {
        try
        {
            System.out.println(1/0);
        }
        catch(ArithmeticException e)
        {
            System.out.println("Hello Geeks");
        }
        catch(Exception e)
        {
            System.out.println("Welcome");
        }
    }
}

选项:
1.你好极客
2. 无输出
3. 编译时错误
4. 欢迎



The answer is option (1)

说明:在上面的程序中,我们遵循了带有多个catch块的try方法。这里 1/0 是一个 ArithmeticException,它被第一个 catch 块捕获并执行。

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

Java

class Geeks
{
    public static void main(String[] args)
    {
        try
        {
            System.out.println(1/0);
        }
        catch(Exception e)
        {
            System.out.println("Hello Geeks");
        }
        catch(ArithmeticException e)
        {
            System.out.println("Welcome");
        }
    }
}

选项:
1.你好极客
2. 无输出
3. 编译时错误
4. 欢迎

The answer is option (3)

说明:如果我们尝试尝试多个 catch 块,那么我们应该注意子类 catch 块是第一个然后是父类 catch 块。否则,我们将收到编译时错误,提示错误:已捕获异常 ArithmeticException。

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

Java

class Geeks
{
    public static void main(String[] args)
    {
        try
        {
            System.out.println(1/0);
        }
    }
}

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

The answer is option (2)

说明:在上面的程序中,我们声明了一个没有任何 catch 或 finally 块的 try 块。我们必须始终使用 catch 或 finally 块声明 try ,因为单个 try 块无效。这就是为什么它会给出编译时错误,说 error: 'try' without 'catch', 'finally' 或资源声明。

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

Java

class Geeks
{
    public static void main(String[] args)
    {
        try
        {
            System.out.println(1/0);
        }
        System.out.println("Hello GEEKS");
        catch(ArithmeticException e)
        {
            System.out.println("Welcome");
        }
    }
}

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

The answer is option (4)

说明:在上面的程序中,我们声明了一个 try 块和一个 catch 块,但两者由一行分隔,这将导致编译时错误:

prog.java:5: error: 'try' without 'catch', 'finally' or resource declarations
        try
        ^