异常处理 - 参考答案

更新时间:2024-04-22 10:48:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、【必做题】

1. 写出以下程序的运行结果。 Static double average(int[] a) throws NullPointerException { Try { Int sum = 0; for (int I = 0; I < a.length; i++) { Sum += a[i]; } Return (((double) sum) / a.length); } catch (NullPointerException e) { System.out.println(“NullPointerException”); throw e; } } Public static void main(String args[]) { Try { Int a[] = null; average(a); } catch (NullPointerException e ) { System.out.println(“NullPointerException”); } System.out.println(“OK”); }

NullPointerException NullPointerException OK

2. 编写一个方法,比较两个字符串。假如其中一个字符串为空,会产生NullPointerException异常,在方法声明中通告该异常,并在适当时候触发异常,然后编写一个程序捕获该异常。

public class Main { {

}

public static void main(String[] args) {

// TODO Auto-generated method stub if(s==null||a == null) { }

throw new NullPointerException(); }else{

public static void test(String s,String a ) throws NullPointerException

}

}

try{

}catch(NullPointerException e){ }

e.printStackTrace(); String s = null; String a = \; test(s,a);

3.假如要从命令行获得两个整数,自定义两个异常类来描述可能发生的异常:ParameterNumberException(参数个数异常),ParameterFormateException(参数格式异常),设计一个类,在check(String args[])方法中通告这两个异常,在main方法中判断相应的情况下触发异常,然后捕获异常,对它们进行处理。 4.给定下面代码: B. Test 2 public void example(){ try { unsafe();

System.out.println(\ }catch(Exception e){

System.out.println(\ }

finally{

System.out.println(\ }

System.out.println(\}

如果方法unsafe()运行正常,哪个结果不会被显示出来? A. Test 1 B. Test 2 C. Test3 D. Test 4

5.编写应用程序,从命令行传入两个整型数作为除数和被除数。要求程序中捕获NumberFormatException 异常和ArithmeticException 异常在命令行输入不同的参数时能输出如下各种结果: java A

总是被执行

Exception in thread \ A.main(A.java:7)

java A 1 2 0

总是被执行

java A 1 3a

java.lang.NumberFormatException: 3a

at java.lang.Integer.parseInt(Integer.java:435) at java.lang.Integer.parseInt(Integer.java:476) at A.main(A.java:8) 总是被执行

java A 1 0

java.lang.ArithmeticException: / by zero at A.main(A.java:9)

总是被执行

6. 编写一个检查给定的数字的数据类型是否为byte的程序,如果此数字超出byte数据类型表示的数的范围,则引发用户自定义的异常ByteSizeException,并显示相应的错误信息 步骤1:创建用户自定义异常类ByteSizeException 步骤2:在main方法中编写逻辑代码 步骤3:运行并测试 效果如图:

public class ByteSizeException extends Exception{ }

public class Main {

public static void main(String[] args) {

try{

foo(555);

e.printStackTrace(); }catch (ByteSizeException e) {

public static void foo(int number) throws ByteSizeException{

if(number > 127 || number < -128){ throw new ByteSizeException(); } }

public ByteSizeException(){

super(\此数字超出byte数据类型表示的数的范围\); }

}

}

}

本文来源:https://www.bwwdw.com/article/y5wp.html

Top