北大青鸟JAVA培训教材第11章异常处理.ppt
《北大青鸟JAVA培训教材第11章异常处理.ppt》由会员分享,可在线阅读,更多相关《北大青鸟JAVA培训教材第11章异常处理.ppt(26页珍藏版)》请在三一办公上搜索。
1、第11章 异常处理,每个人都不能保证所写的程序没有错误,如果程序中可能发生错误就需要进行异常处理在学校中老师批改作业一样,通常要指出学生所犯的错误。指出错误可能是准确的指出错误,也可能是给出一个错误范围,让学生在这个范围中自己查找。在Java中,异常处理也是这样的,通过异常处理来指出程序中的错误,可以给出一个具体异常,也可以给出一个异常范围。在本章中就来学习如何进行异常处理。通过本章的学习,读者应该完成如下几个目标。了解什么是异常处理。熟练掌握如何进行异常处理。掌握异常的分类和区别不同的异常。能够自定义异常和使用自定义异常。,11.1 异常处理基本介绍,在本节中将对异常有一个大概的了解。异常发
2、生的原因有很多,可能是软件的问题,也可以是硬件的问题。在Java程序中,对异常的处理都是一样的,一般情况下是通过try-catch语句来进行异常处理。该语句还可以存在finally语句。本节中就来对这些最简单的异常处理语句进行介绍。,11.1.1 try和catch捕获异常,通常情况下,在Java程序中就是采用try-catch语句进行异常处理的。这种方法既好用,又容易让开发员理解。try-catch语句的基本语法如下所示。try/此处是可能出现异常的代码catch(Exception e)/此处是如果发生异常处理的代码在try语句中放可能出现异常的代码;在catch语句中需要给出一个异常的类
3、型和该类型的引用,并在catch语句中放当出现该异常类型时需要执行的代码。,11.1.2 try-catch语句使用注意点,使用try-catch语句是有很多注意点和技巧的。在一开始学时就应该了解这些。有些初学者会认为使用了try-catch语句的程序就会发生异常,这是不对的。try-catch语句是对有可能发生异常的程序进行查看,如果没有发生异常,就不会执行catch语句中的内容。在程序中如果不使用try-catch语句,则当程序发生异常的时候,会自动退出程序的运行。而使用try-catch语句后,当程序发生异常的时候,会进行执行catch语句中的程序,从而使程序不自动退出。在前面的学习中经
4、常会看到出现异常的情况,如果在其中使用try-catch语句就不会出现那种异常信息。,注意:try-catch语句是对有可能发生异常的程序进行查看,如果没有发生异常,就不会执行catch语句中的内容。在程序中如果不使用try-catch语句,则当程序发生异常的时候,会自动退出程序的运行。try-catach语句中的catch语句可以不只是一个,可以存在多个catch语句来定义可能发生的多个异常。当处理任何一个异常时,则将不再执行其他catch语句。,当对程序使用多个catch语句进行异常处理时,特别需要注意的是要将范围相对小的异常放在前面,将范围相对大的异常放在后面,这通过程序是很容易理解的。
5、注意:当对程序使用多个catch语句进行异常处理时,要将范围相对小的异常放在前面,将范围相对大的异常放在后面。,11.1.3 finally语句的使用,在try-catch语句中是还可以具有finally语句的。在实际开发中经常要使用到finally语句,尤其是将在后面学习到的数据库操作中。连接数据库是可以发生异常的,当然也是可能不发生异常的。但是有一点,不管是否发生异常,连接数据库所用到的资源都是需要关闭的,这些操作是必须执行的,这些执行语句就可以放在finally语句中。在finally语句中就是放肯定会被执行的语句。提示:不管是否发生异常,连接数据库所用到的资源都是需要关闭的,这些操作是
6、必须执行的。,finally语句的语法形式如下所示。try/此处是可能出现异常的代码catch(Exception e)/此处是如果发生异常的处理代码finally/此处是肯定被执行的代码finally语句虽然在程序中肯定执行,但是为了确保知识的严谨性,这里也给出了几个可能会中断finally语句执行的情况。首先是finally语句中本身就产生异常;再者就是执行finally语句的线程死亡,线程的问题会在后面的学习中学习到;还有一种情况,那就是程序执行到finally语句时停电了。,11.1.4 再谈异常处理注意点,学习finally语句后,又多出了很多在写try-catch-finally语
7、句时需要注意的地方。这些在开发中是比较少见的,但是在考试中经常会出现。第一个注意点就是当不存在catch语句时,finally语句必须存在并且紧跟在try语句后面。读者可以自己写程序来验证这一点。还有一个需要注意的格式是在try语句和catch语句间不能存在任何语句,同样在catch语句和finally语句中也不能存在任何语句,这地方的语句不包括注释语句。注意:当不存在catch语句时,finally语句必须存在并且紧跟在try语句后面。在try语句和catch语句间不能存在任何语句,同样在catch语句和finally语句中也不能存在任何语句。,11.2 异常的分类,可以对异常进行分类的,从
8、大的角度将异常分为捕获异常和未捕获异常两类。在Java类库中有一个叫做Throwable类,该类继承于Object类。所有的异常类都是继承Throwable类,Throwable类有两个直接子类,Error类和Exception类。在Exception类中又有一个RuntimeException类。在Exception类中的直接和间接子类中除去RuntimeException类的直接和间接子类,都是捕获异常。其他的都为未捕获异常。,11.2.1 捕获异常,捕获异常是在翻译外文书时给起的名字,如果直接翻译的话是必须处理异常。捕获异常通常是由外部因素造成的,不是由程序造成的。例如连接网络等操作,这
9、些是和很多因素有关系的,有可能并不是程序的错误。虽然这些错误并不是程序的错误,但是也是必须要进行处理的。提示:捕获异常是在翻译外文书时给起的名字,如果直接翻译的话是必须处理异常。在Java程序中对捕获异常的处理是必须进行异常处理,虽然有可能程序并不会出现异常。这种设计大大提高了程序的稳定性。下面通过程序代码来进行捕获异常的讲解。注意:如果语句中不可能出现捕获异常,但是程序中仍然对该语句进行捕获异常处理,这样该程序运行时是会发生错误的。,11.2.2 未捕获异常,在异常中,除了捕获异常以外的都是未捕获异常。未捕获异常包括Error类以及它的直接子类和间接子类和RuntimeException类以
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北大 青鸟 JAVA 培训教材 11 异常 处理

链接地址:https://www.31ppt.com/p-6380213.html