欢迎来到天天文库
浏览记录
ID:45135644
大小:110.50 KB
页数:26页
时间:2019-11-10
《第11章_异常处理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第11章异常处理每个人都不能保证所写的程序没有错误,如果程序中可能发生错误就需要进行异常处理在学校中老师批改作业一样,通常要指出学生所犯的错误。指出错误可能是准确的指出错误,也可能是给出一个错误范围,让学生在这个范围中自己查找。在Java中,异常处理也是这样的,通过异常处理来指出程序中的错误,可以给出一个具体异常,也可以给出一个异常范围。在本章中就来学习如何进行异常处理。通过本章的学习,读者应该完成如下几个目标。了解什么是异常处理。熟练掌握如何进行异常处理。掌握异常的分类和区别不同的异常。能够自定义异常和使用自定义异常。
2、11.1异常处理基本介绍在本节中将对异常有一个大概的了解。异常发生的原因有很多,可能是软件的问题,也可以是硬件的问题。在Java程序中,对异常的处理都是一样的,一般情况下是通过try-catch语句来进行异常处理。该语句还可以存在finally语句。本节中就来对这些最简单的异常处理语句进行介绍。11.1.1try和catch捕获异常通常情况下,在Java程序中就是采用try-catch语句进行异常处理的。这种方法既好用,又容易让开发员理解。try-catch语句的基本语法如下所示。try{//此处是可能出现异常的代码}c
3、atch(Exceptione){//此处是如果发生异常处理的代码}在try语句中放可能出现异常的代码;在catch语句中需要给出一个异常的类型和该类型的引用,并在catch语句中放当出现该异常类型时需要执行的代码。11.1.2try-catch语句使用注意点使用try-catch语句是有很多注意点和技巧的。在一开始学时就应该了解这些。有些初学者会认为使用了try-catch语句的程序就会发生异常,这是不对的。try-catch语句是对有可能发生异常的程序进行查看,如果没有发生异常,就不会执行catch语句中的内容。在程
4、序中如果不使用try-catch语句,则当程序发生异常的时候,会自动退出程序的运行。而使用try-catch语句后,当程序发生异常的时候,会进行执行catch语句中的程序,从而使程序不自动退出。在前面的学习中经常会看到出现异常的情况,如果在其中使用try-catch语句就不会出现那种异常信息。注意:try-catch语句是对有可能发生异常的程序进行查看,如果没有发生异常,就不会执行catch语句中的内容。在程序中如果不使用try-catch语句,则当程序发生异常的时候,会自动退出程序的运行。try-catach语句中的c
5、atch语句可以不只是一个,可以存在多个catch语句来定义可能发生的多个异常。当处理任何一个异常时,则将不再执行其他catch语句。当对程序使用多个catch语句进行异常处理时,特别需要注意的是要将范围相对小的异常放在前面,将范围相对大的异常放在后面,这通过程序是很容易理解的。注意:当对程序使用多个catch语句进行异常处理时,要将范围相对小的异常放在前面,将范围相对大的异常放在后面。11.1.3finally语句的使用在try-catch语句中是还可以具有finally语句的。在实际开发中经常要使用到finally语
6、句,尤其是将在后面学习到的数据库操作中。连接数据库是可以发生异常的,当然也是可能不发生异常的。但是有一点,不管是否发生异常,连接数据库所用到的资源都是需要关闭的,这些操作是必须执行的,这些执行语句就可以放在finally语句中。在finally语句中就是放肯定会被执行的语句。提示:不管是否发生异常,连接数据库所用到的资源都是需要关闭的,这些操作是必须执行的。finally语句的语法形式如下所示。try{//此处是可能出现异常的代码}catch(Exceptione){//此处是如果发生异常的处理代码}finally{//
7、此处是肯定被执行的代码}finally语句虽然在程序中肯定执行,但是为了确保知识的严谨性,这里也给出了几个可能会中断finally语句执行的情况。首先是finally语句中本身就产生异常;再者就是执行finally语句的线程死亡,线程的问题会在后面的学习中学习到;还有一种情况,那就是程序执行到finally语句时停电了。11.1.4再谈异常处理注意点学习finally语句后,又多出了很多在写try-catch-finally语句时需要注意的地方。这些在开发中是比较少见的,但是在考试中经常会出现。第一个注意点就是当不存在c
8、atch语句时,finally语句必须存在并且紧跟在try语句后面。读者可以自己写程序来验证这一点。还有一个需要注意的格式是在try语句和catch语句间不能存在任何语句,同样在catch语句和finally语句中也不能存在任何语句,这地方的语句不包括注释语句。注意:当不存在catch语句时,finally语句必须存
此文档下载收益归作者所有