Java程序|集12的输出(异常处理)

先决条件: 异常处理 , 最后,在try-catch中控制流 1) 以下程序的输出是什么?

null

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

答案。 (d) 说明: 一旦try块中出现异常,执行将转移到 符合的 catch语句,不返回try block。一次只执行一个catch块。无论是否发生异常,始终执行finally块。 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 答案。 (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) 十二 b) 1234 c) 124 d) 123

答案。 (a) 说明: finally块中的代码未执行的唯一情况是系统。退出(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

答案。 (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) 十三 答案。 (d) 说明: 在多捕获语句中,必须从更具体到更一般地列出例外。只执行一条catch语句,该语句最特定于发生的异常。

本文由 马扬克·库马尔 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享