欢迎来到天天文库
浏览记录
ID:37934105
大小:763.67 KB
页数:23页
时间:2019-06-03
《Java课程14_异常》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、IT教育系列JAVA-第14节非正常运行时的补救措施异常(Exception)处理版权声明•本课件由浙江浙大网新集团有限公司(以下简称:网新集团)编制,仅供网新集团培训机构的学员学习使用;•网新集团享有本课件中的文字叙述、文档格式、插图、照片等所有信息资料的版权,受知识产权法及版权法等法律、法规的保护。任何个人或组织未经网新集团的书面授权许可,均不得以任何形式使用本课件的任何内容,否则将视为不法侵害,网新集团保留追究侵权人相关法律责任的权利•如您不接受上述声明,请勿使用本课件,并尽快销毁或删除本课件任
2、何形式的备份;如您使用本课件,将被视为您接受并同意遵守上述声明。第2页内容提要1异常介绍2异常处理基础异常分类34异常捕获语法55异常堆栈6用户自定义异常及示例第3页1.1异常—介绍•Java编程语言的特点之一就是健壮性,意味着错误应最少,一旦出现错误可以适当处理。•在编译的时候不能检测到所有错误,运行时发生的错误称为异常。处理这些异常就称为异常处理。•Java异常处理功能涉及的是运行时错误的处理和恢复。1.1异常—介绍Java程序可能会发生错误,这种出错的情况被描述成异常,当异常发生时,代表该异常的
3、对象被创建并且在导致该错误的方法中被抛出,如:要打开的文件不存在、网络传输中断等;Java基本类中定义了很多种类型的异常,如IOException(输入输入异常)、SQLExcepiton(数据库执行异常)等,所有的异常类,都是Exception类的子类。可根据需要定义自己的异常类,以进一步明确异常的类型和定义新的方法第5页1.2异常处理基础•Java异常处理通过5个关键字控制:–try——包含异常监控的代码–catch——捕获异常–throw——手动引发一个异常–throws——方法可能引发的异常–
4、finally——代码块无论是否发生异常,都会被执行1.2异常处理基础•在Java代码中可用来处理异常的方式有2种:–可能引发异常的语句放在try块内,而处理异常的相应语句则放入在catch块内;–发生异常时,就放弃对它的执行,因此,不需要在方法中提供try-catch块,而是方法声明包含throws子句,通知潜在的调用者,如果发生异常,必须由调用者处理。1.3异常—分类•所有的异常都起源于Throwable,但是Throwable类分为两个分支:Error和Exception。•Error分支用于J
5、ava运行时系统的内部错误和资源耗尽错误。这些错误很少发生,通常都是灾难性的致命错误,不是程序可以控制的。•当进行Java编程时,我们要把重点放在Exception分支上。1.3异常—分类ThrowableErrorExceptionRuntimeExSQLExceptIoExceptionceptionionNullPointerClassCastE。。。Exceptionxception第9页1.3异常—分类•Exception也分为2个分支:–派生自RuntimeException的异常–其他异
6、常•通用的规则:–产生一个RuntimeException的原因是编程错误,而任何其他异常的出现是因为程序碰上了一个意外情况,例如一个I/O错误等。1.3异常—分类•下面几种情况会导致出现派生自RuntimeException的异常:–一个错误的造型转换–一个越界的数组访问–一个空指针访问•下面几种情况则导致出现非继承自RuntimeException的异常:–试图读取一个文件结尾后面的数据–试图打开一个错误的URL–试图根据一个不代表任何已存在类的字符串来找到一个Class对象1.3异常—分类•Ja
7、va语言规范把任何继承自Error或RuntimeException的异常都称为是未检查的异常。所有其他异常称为已检查的异常。•记住一个规则:“如果它是一个RuntimeException,那么是你的错”。比如:你可以通过判断数组下标是否超过数组边界来避免出现ArrayIndexOutofBoundsException。1.4异常—说明1.Throwable:可抛出对象,其子类的实例可以通过throw关键字进行抛出;2.Error:系统(JVM)级错误,通常是无法挽回的错误,我们一般不需要处理;3.E
8、xception:大多数异常的超类,通常我们通过继承该类来编写自己的异常类;4.RuntimeException:运行期异常,这类异常只会在运行时出现,编译器无法探测到该异常的抛出,所以,在编译期,不对异常进行检查。(此类异常不使用try...catch或throws亦可被编译通过)第13页2.1异常捕获-语法try{正常程序执行代码//可能抛出异常的代码程序执行时可能会有异常......}catch(异常类1){//处理异常对发生的不同异常进行不...
此文档下载收益归作者所有