- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图12.1异常的常用类层次.ppt
第12章 Java例外处理 ;12.1 异常的基本概念 ;例12.1
public class ExceptionDemo {
public static void main(String args[]) {
int x=100;
System.out.println(The result is+x/10);
System.out.println(Divided by zero: +x/0);
} } ;当我们对其编译后运行时,其对应的结果如下:
c:\java\binjava ExceptionDemo
The result is10
Exception in thread main java.lang.Arithmetic Exception: / by zero at Exception Demo.main(Exception Demo.java:5)
;12.2 异常的处理机制;12.2.1 异常的直接捕获与处理:try-catch
try-catch语句构成Java对异常直接处理的基本处理单元,其一般语法如下:
try {
…
} catch (ExceptionClass1 c) {
…
} catch (ExceptionClass2 d) {
… }
try块管理其所包含的语句并定义与之相关的异常指针范围,它的后面必须至少接一个catch语句。catch语句块负责处理各对应类型的异常。; 例12.2
import java.io.*;
public class ExceptionDemo1 {
public static void main(String args[]) {
int i;
FileInputStream fis = new FileInputStream(file_in.txt);
FileOutputStream fos=new FileOutputStream(file_out.txt);
while(i=fis.read())!=-1)
fos.write(i);
fis.close();
fos.close(); } }; 两种异常程序员必须捕获,即File Not FoundExcetion和IOException。
例12.2可改写为 例12.3
import java.io.*;
public class ExceptionDemo1 {
public static void main(String args[]) {
int i;
try { FileInputStream fis=new FileInputStream(file_in.txt);
FileOutputStreamfos=new FileOutputStream(file_out.tx t);
while((i=fis.read())!=-1)
fos.write(i);; fis.close();
fos.close();
} catch (FileNotFoundException e){
System.out.println(The error is: +e.getMessage());
} catch (IOException e) {
System.out.println(The error is: +e);
}
} }
Java允许用户捕获实际需要捕获的异常类的超类,所以,一个catch语句就可以同时捕获多种异常。这样,例12.3中的try-catch语句又可以改写为; try { ...
} catch (Exception e) {
System.out.pritnln(The error is: +e.getMessage()); }
因为Exception类是FileNotFoundException类和IOException类的超类,所以对一段可能抛出??量不同类型的异常的程序来说,逐个捕获处理异常可能会较繁琐,而仅仅捕获它们父类的异常则会较方便。; 与异常处理语句try-catch相关的另一条语句是
文档评论(0)