电工与电子技术电子商务电子课件JAVA语言程序设计java04ppt_第1页
电工与电子技术电子商务电子课件JAVA语言程序设计java04ppt_第2页
电工与电子技术电子商务电子课件JAVA语言程序设计java04ppt_第3页
电工与电子技术电子商务电子课件JAVA语言程序设计java04ppt_第4页
电工与电子技术电子商务电子课件JAVA语言程序设计java04ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电子课件JAVA语言程序设计java04第4章异常处理4.1异常与异常类4.2异常处理的两种方式本章目录4.1异常与异常类一、Java语言中的异常概念异常是指异常事件,Java语言异常处理机制体现了Java语言鲁棒性的特点。异常和异常处理是Java语言所独有的。如:String string = Easter Sunday,Thanksgiving,Christmas;for(int i=0;i=0;i-)output += 120是+i+的+120/i+倍;二、Java 类库中的异常类及其层次结构Java语言中的异常事件分为两种:即Exception和Error。Exception是指那些程

2、序中可能发生的有可能恢复的异常事件;Error是指那些程序中可能发生的非常严重且无法恢复的错误情况。前者一般不会中断程序的执行,后者则将使程序中断执行。异常是以类的形式定义在Java语言类库中的。带有阴影的是不受检异常(Unchecked Exception)。当Java程序执行时,如果出现了异常事件,就会产生一个异常对象,其中包含一些信息描述异常的类型及异常发生时程序的运行状态等。4.2异常处理的两种方式有两种应付异常的办法:使用try-catch-finally语句块结构在程序代码中捕获和处理异常;把异常对象通过层层向上抛出直至转交给Java运行时系统处理。Java语言称产生异常和转交异常

3、的过程为抛出异常。一、捕获和处理异常捕获和处理异常是通过try-catch-finally语句块实现的。语句块实际上就是在正常的程序中采用的几个标记,并不是新的程序语句。程序在运行过程中对try语句块中的语句进行监测,根据其中出现的异常的种类决定是否采用catch语句块中的语句以及采用哪个catch语句块中的语句处理异常,最后,再运行finally语句块中的语句来结束捕获和处理异常的过程。语句格式try statements catch(ExceptionClassName obj) statements catch(ExceptionClassName obj) statements fin

4、ally statements 程序员认为可能出现异常的语句,在语句序列中划定捕获异常的范围 。无论在try语句块中是否发生异常,finally语句块都是要执行的。不同的异常参数处理在try语句块中捕获的异常,每个catch块负责处理一种类型的异常 。trystatememtscatch()catch()catch()catch()finallycatch()参数匹配二、Java SE 7版本对于捕获异常的改进Java SE 7版本改进了捕获和处理异常方式中的catch语句块的定义方式,允许在一个catch语句块中编写多个异常类型,相互之间用“|”分隔,当进行异常类型比对时,若与其中的一个异常

5、类型匹配,就进入这个catch语句块,执行其中的语句序列。关于捕获和处理异常,提醒注意:(1)在try语句块、catch语句块和finally语句块之间放置语句和代码是一种语法错误。(2)catch语句块的参数只能是异常类型,不能是其他类型的参数。(3)多个catch语句块时,子类型异常的catch语句块在前,父类型异常的catch语句块在后。(4)编写异常处理的代码之前,应尽量先阅读Java API文档,了解异常类型。三、抛出异常Java语言也允许指明出现的异常不在当前方法内处理,而是将其抛出,送交到调用它的方法来处理,在调用序列中逐级向上传递,乃至传递到Java运行时系统,直至找到一个运行

6、层次可以处理它为止。声明抛出异常是在一个方法声明中的throws子句中给出的。其语法格式为returnType methodName(paramList) throws ExceptionList说明该方法将不对这些异常进行处理,而是声明抛出它们。在throws子句中给出的异常如果是多个,需要在中间用逗号分隔开。另外也可以用多个异常类的父类代替它们。还可以在程序中使用throw语句进行抛出的操作。例:import javax.swing.JOptionPane;public class ExcepDemo3public static void main(String args)String s

7、tring = Easter Sunday, Thanksgiving,Christmas;String output = ;int k = 0, m = 0;tryfor(int i=0;i5;i+)k = i + 1;output += stringi;output += n;m = i + 1;catch(Exception e)output += e.toString();finallyoutput += nround + k + started;output += nIt is terminated at round + m;JOptionPane.showMessageDialog

8、( null, output );System.exit( 0 );四、创建自己的异常可以在Java类库中现有异常类的基础上由用户创建新的异常类,新的异常类必须用extends子句声明是Exception类的子类。定义异常类的代码写在程序中,与其他类定义并列成为程序的一部分,在使用时与已有的异常类基本相同,只是在throws子句中使用下面的语法 throws new MyException( );五、Throwable类中的异常信息获取方法String getMessage() /返回此throwable的详细消息字符串StackTraceElement getStackTrace() /提供编程访问由printStackTrace()输出 /的堆栈跟踪信息void printStackTrace() /将此throwable及其追踪输出到标准 /错误输出流void

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论