- 2
- 0
- 约7.39千字
- 约 34页
- 2017-08-17 发布于河南
- 举报
第六章例外处理(Exceptions) 例外处理概述 自定义例外 Java数组 例子 Exception 的概念 Exception 是在程序运行时打断正常程序流程的 异常的情况 试图打开的文件不存在 网络链接中断 操作符越界 要加载类文件不存在 Java中定义了各种例外 例外的类型 Error 很难恢复的严重错误,一般不由程序处理。 Runtime Exception 程序设计或实现上的问题,如数组越界等。 其它例外 通常是由环境因素引起的,并且可以被处理的。 如文件不存在,无效URL等。 例外处理 扑获并处理例外 将方法中产生的例外抛出 示例 import java.io.*; import java.util.Vector; public class ListOfNumbers { private Vector victor; private static final int size = 10; public ListOfNumbers () { victor = new Vector(size); for (int i = 0; i size; i++) victor.addElement(new Integer(i)); } public void writeList() { printWriter out = new PrintWriter(new FileWriter(OutFile.txt)); for (int i = 0; i size; i++) out.println(Value at: + i + = + victor.elementAt(i)); out.close(); } } 捕捉与例外处理 try 语句块 catch 语句块 finally 语句块 try 语句 一般形式: try { Java statements //一条或多条可能产生例外的java语句。 } try 语句后必须跟随至少一个catch或finally语句块。 try 语句示例 PrintWriter out = null; try { System.out.println(Entering try statement); out = new PrintWriter(new FileWriter(OutFile.txt)); for (int i = 0; i size; i++) out.println(Value at:+i+=+victor.elementAt(i)); } cache 语句 Catch语句块提供错误处理。 一般格式: catch (SomeThrowableObject variableName) { Java statements } SomeThrowableObject:能够被处理的例外类名,必须是throwable类的子类 variableName: 是例外处理程序中能够引用的代表被扑获例外的变量名称。 Java statements: 当扑获到例外时执行的java语句。 cache 语句示例 try { . . . } catch (ArrayIndexOutOfBoundsException e) { System.err.println(Caught ArrayIndexOutOfBoundsException: + e.getMessage()); } catch (IOException e) { System.err.println(Caught IOException: + e.getMessage()); } 多种例外同时处理 例外的结构 例外处理可以针对这个体系中的任意一个类。 叶结点:是具体、专用的例外处理; 中间结点:是通用的例外处理。可以处理该结点及其子类类型的例外。 例:writeList 方法: try { . . . } catch (Exception e) { System.err.println(Exception caught: + e.getMessage()); } finally 语句 将先前方法的状态清
原创力文档

文档评论(0)