Java 程序输出|第 12 集(异常处理)
原文:https://www . geesforgeks . org/output-Java-program-set-12 异常处理/
先决条件: 异常处理、试捕中的控制流-最后 1)以下程序的输出是什么?
public class Test
{
public static void main(String[] args)
{
try
{
System.out.printf("1");
int sum = 9 / 0;
System.out.printf("2");
}
catch(ArithmeticException e)
{
System.out.printf("3");
}
catch(Exception e)
{
System.out.printf("4");
}
finally
{
System.out.printf("5");
}
}
}
a)1325 b)1345 c)1342 d)135
Ans。 (d) 解释:一旦 try block 出现异常,执行传递到对应的catch 语句,不返回 try block。一次只执行一个 catch 块。无论异常是否发生,总是执行 finally block。 2)以下程序的输出是什么?****
public class Test
{
private void m1()
{
m2();
System.out.printf("1");
}
private void m2()
{
m3();
System.out.printf("2");
}
private void m3()
{
System.out.printf("3");
try
{
int sum = 4/0;
System.out.printf("4");
}
catch(ArithmeticException e)
{
System.out.printf("5");
}
System.out.printf("7");
}
public static void main(String[] args)
{
Test obj = new Test();
obj.m1();
}
}
a)35721 b)354721 c)3521 d)35 T4【Ans。 (a) 解释:如果在 catch 语句中处理了异常,则程序在执行了与该异常对应的 catch 语句之后,继续其正常执行。此外,当 try 块中出现异常时,try 块中的其余程序不会执行。
*3)以下程序的输出是什么?*
public class Test
{
public static void main(String[] args)
{
try
{
System.out.printf("1");
int data = 5 / 0;
}
catch(ArithmeticException e)
{
System.out.printf("2");
System.exit(0);
}
finally
{
System.out.printf("3");
}
System.out.printf("4");
}
}
a)12 b)1234 c)124 d)123
*Ans。* (a) 解释:最终块内部的代码不执行的唯一情况是在程序中显式调用 System.exit(0)时。然后调用 exit 语句,程序终止,不再执行。 4)以下程序的输出是什么?****
public class Test
{
public static void main(String[] args)
{
try
{
System.out.printf("1");
int data = 5 / 0;
}
catch(ArithmeticException e)
{
Throwable obj = new Throwable("Sample");
try
{
throw obj;
}
catch (Throwable e1)
{
System.out.printf("8");
}
}
finally
{
System.out.printf("3");
}
System.out.printf("4");
}
}
a)编译错误 b)运行时错误 c) 1834 d) 134
*Ans。* (c) 解释:例外可以抛出 catch 子句。这样做是为了在运行时更改异常类型。catch 子句中的异常是通过创建类 Throwable 的实例引发的,如程序所示。
*5)以下程序的输出是什么?*
import java.io.EOFException;
import java.io.IOException;
public class Test
{
public static void main(String[] args)
{
try
{
System.out.printf("1");
int value = 10 / 0;
throw new IOException();
}
catch(EOFException e)
{
System.out.printf("2");
}
catch(ArithmeticException e)
{
System.out.printf("3");
}
catch(NullPointerException e)
{
System.out.printf("4");
}
catch(IOException e)
{
System.out.printf("5");
}
catch(Exception e)
{
System.out.printf("6");
}
}
}
a)1346 b)136726 c)136 d)13 T4【Ans。 (d) 解释:在多 catch 语句中,必须从更具体到更一般地列出例外。只执行一个对发生的异常最特定的 catch 语句。
本文由 Mayank Kumar 供稿。如果你喜欢 GeeksforGeeks 并想投稿,你也可以使用contribute.geeksforgeeks.org写一篇文章或者把你的文章邮寄到 contribute@geeksforgeeks.org。看到你的文章出现在极客博客主页上,帮助其他极客。
如果你发现任何不正确的地方,或者你想分享更多关于上面讨论的话题的信息,请写评论。
版权属于:月萌API www.moonapi.com,转载请注明出处