Java程序设计 刘卫国 第6章 异常处理

Java程序设计 刘卫国 第6章 异常处理

ID:40238740

大小:4.58 MB

页数:86页

时间:2019-07-28

Java程序设计 刘卫国 第6章 异常处理_第1页
Java程序设计 刘卫国 第6章 异常处理_第2页
Java程序设计 刘卫国 第6章 异常处理_第3页
Java程序设计 刘卫国 第6章 异常处理_第4页
Java程序设计 刘卫国 第6章 异常处理_第5页
资源描述:

《Java程序设计 刘卫国 第6章 异常处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章异常处理与输入/输出6.1异常处理6.2Java的I/O处理6.3字节流应用6.4字符流应用6.5文件处理6.1异常处理异常是指在程序执行过程中发生的非正常事件,这些事件的发生将中断程序的正常运行。Java用面向对象的方法处理异常,将处理异常的代码和正常的程序代码分开,使程序维护起来更加方便,也增强了程序的安全性和健壮性。6.1.1异常的概念一个好的健壮的程序,应具备较强的容错能力,除了在正常情况能够顺利完成用户所预想的功能,在各种异常情况下,也能做出恰当处理。两大基本问题如何表示异常情况如何控制异常处理流程Ja

2、va的优势通过引入异常类来表示异常情况,这样可以充分发挥类的可扩展性和可重用性的优势,对异常情况进行合理的分类和说明提供了相应的语法结构,异常流程代码和正常流程代码分离,简化程序结构,提高了程序的可读性和可维护性异常具体处理非常灵活,如果当前方法有能力处理,就立即捕获并处理它,若没有能力处理,还可以抛出异常,由方法调用者来处理它。6.1.2异常的处理Java系统中异常处理的过程当出现异常时,首先要抛出异常,然后由相应的代码处理。异常处理方法有两种捕获异常声明抛出异常。1.抛出异常当Java程序在运行过程中,因某种原因出

3、现了异常,这时由Java虚拟机或调用产生异常的方法生成代表该异常的一个异常对象,并把这个异常对象提交给运行系统,这一过程称为抛出异常。下面是一个由系统自动抛出异常的例子。【例6-1】异常的自动抛出:TestException1.javapublicclassTestException1{publicstaticvoidmain(String[]args){inta,b,c;a=128;b=0;c=a/b;System.out.println(a+"/"+b+"="+c);}}输出结果为:Exceptioninthrea

4、d"main"java.lang.ArithmeticException:/byzeroatTestException.main(TestException.java:6)显式抛出异常--throw语句有时,程序员也可以根据实际情况在程序中显式地抛出异常。这一点可以通过使用throw语句来完成,其作用是改变程序的执行流程,使程序流程跳转到相应的异常处理语句中去执行。throw语句的格式如下:throw异常对象;例如:IOExceptionioe=newIOException();throwioe;注意:可以抛出的异常必

5、须是Throwable或其子类的实例。如,下面的语句在编译时将会产生语法错误:thrownewString("wanttothrow");2.捕获异常try{//可能抛出异常的代码段}catch(异常类型1e1){//异常处理代码}catch(异常类型2e2){//异常处理代码}//可以有多个catch子句}finally{//最终执行的语句}3.声明抛出异常在一个方法声明中利用throws子句来指明的,语法如下:返回类型方法名(方法形式参数列表)throws抛出异常类型列表;例如:publicvoidf1(intmo

6、ney)throwsSpecialException{//以下代码可能会抛出SpecialExceptionif(--money<=0)thrownewSpecialException("Outofmoney");}throws子句中同时声明抛出多种异常类型时,用逗号来分隔。例如:publicvoidf2()throwsIOException,IndexOutOfBoundsException{…}6.1.3异常类的层次结构Java中定义了很多异常类,每个异常类都代表了一类运行错误,类中包含了该运行错误的信息和处理错误

7、的方法等内容。所有的这些异常类都直接或间接继承自java.lang.Throwable类。它有两个直接子类Error类Exception类RuntimeException其他Exception子类异常类的继承结构ObjectThrowableErrorExceptionunCheckedExceptionRuntimeExceptionAWTExceptionIOException...unCheckedExceptionCheckedExceptionCheckedException6.1.4自定义异常在项目开发中还

8、经常遇到Java内置异常类不能满足实际需求的情况,此时就需要用户自己定义异常类了用户自定义异常类要继承Throwable类或它的子类,通常是继承Exception类。编写自定义异常类实际上是继承一个API标准异常类,用新定义的异常处理信息覆盖原有信息的过程。用户自定义异常的一般步骤(1)创建一个类继承于Throwable或其子类。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。