文档详情

嵌套和内部类.pdf

发布:2017-05-20约9.23千字共12页下载文档
文本预览下载声明
1.00 第16讲 异常 嵌套和内部类 下次阅读:Big Java:4.1-4.10节 异常:Try,throw,catch 异常就是Java如何处理方法中出现的方法无法处理的错误 Java异常的机制有3点: -Throw (方法所做的) 方法检测出错误,无法处理 方法抛出一个异常 -Try字块(方法的调用者首先做的) 方法调用可能会抛出一个异常,该异常位于调用方法的一个try 字块中(由花括号定义) -Catch字块在try字块之后(调用者之后做的事) 每个字块包含给出类型的异常处理器 捕获(catch )异常 import javax.swing.*; public class BadInput { public static void main(String[] args) { while (true) { String answer = JOptionPane.showInputDialog(“Enter an integer(0 to quit)”); int Answer = -1; try { //Try字块 intAnswer = Integer.parseInt(answer); //Throw }catch(NumberFormatException e) { //Catch字块 JOptionPane.showMessageDialog(null, “Not an integer”); } if (intAnswer = = 0) break; } System.exit(0); } } 练习 从Web站点下载BadInput 注释出: -Try字块( ‘try’和花括号;留下intAnswer= …) -Catch字块(移除整个字块,包括代码) -保存/编译 输入非整数。看会怎么样? -如果用户输入一个非整数,例如Cathy会怎么样? -这就是我们到目前为止关于输入要完成的吗? 然后移除注释,再次存储try/catch字块 -保存/编译 -输入非整数 -会怎样? -这更好些吗? 抛出(throw )异常 public static double average(double[] args) throws IllegalArgumentException { if(dArray.length = = 0) throw new IllegalArgumentException(); //异常是对象! double sum = 0.0; for(int i = 0; i dArray.length; i++) sum += dArray[i]; return sum/ dArray.length } 练习 下载类AverageTest ,其中有:
显示全部
相似文档