第09章 异常处理

上传人:20****03 文档编号:178474728 上传时间:2021-04-03 格式:DOC 页数:5 大小:58KB
返回 下载 相关 举报
第09章 异常处理_第1页
第1页 / 共5页
第09章 异常处理_第2页
第2页 / 共5页
第09章 异常处理_第3页
第3页 / 共5页
第09章 异常处理_第4页
第4页 / 共5页
第09章 异常处理_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《第09章 异常处理》由会员分享,可在线阅读,更多相关《第09章 异常处理(5页珍藏版)》请在金锄头文库上搜索。

1、东南博职业技术学院 课 时 授 课 计 划 编号:Win001班级 班班班日期第9教学周课题异常处理目的要求要求学生掌握常用异常类,trycatchfinally结构、throw语句和throws选项重点trycathfinally结构难点throw语句和throws选项教法讲 授动手操作教 具教材及课外资料无课外资料课时分配组织教学0复习旧课上机练习讲授新课2小结巩固1布置作业上机练习其他1教学内容及进程一、 异常处理机制二、 异常处理方法1. trycatchfinally结构2. throw语句和throws选项课外作业课后作业1.写一个方法void panDuan(int gongZi

2、),根据带入的参数“工资”判断属于哪个级别:2000以下为“助教”级,20004000为“讲师”级,400010000为“教授”级,小于0或大于10000为非法收入。对于非法收入,要求自定义异常,并抛出。然后在主方法中调用panDuan方法。要求处理所有可能的异常。第09章异常处理9.1 Java异常处理机制异常指程序运行过程中出现的非正常现象,例如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界等。在Java的异常处理机制中,引进了很多用来描述和处理异常的类,称为异常类。异常类定义中包含了该类异常的信息和对异常进行处理的方法。每当程序运行过程中发生了某个异常现象,系统将产生一个相应

3、的异常类对象,并交由系统中的相应机制进行处理,以避免死机、死循环或其他对系统有害的结果发生,保证程序运行的安全性。在Java中,将异常情况分为Exception(异常)和Error(错误)两大类。9.2 异常处理方法异常处理方法有两种:一种方法是使用trycatchfinally结构对异常进行捕获和处理;另一种方法是通过throws和throw抛出异常。9.2.1 trycatchfinally结构无论是否出现异常,也无论是否有catch块,finally块总是会执行的。一般在finally块中做释放资源的操作,比如关闭打开的文件、关闭与数据库的连接等。格式为:try可能出现异常的程序代码;c

4、atch(异常类名1异常对象名1)异常类名1对应的异常处理代码;catch(异常类名2异常对象名2)异常类名2对应的异常处理代码;finally必须执行的代码;9.2.1 trycatchfinally举例/算术异常import java.io.*;class DivZeropublic static void main(String args)System.out.print(请输入分母:);BufferedReader shuru=new BufferedReader(new InputStreamReader(System.in);String str=1;int z=1;int res

5、ult;trystr=shuru.readLine();catch(IOException ioErr)System.out.print(发生IO异常:);System.exit(1);try z=Integer.parseInt(str); catch(NumberFormatException nfErr)System.out.print(数据格式异常,请输入正确格式);System.exit(1);tryresult=10/z;System.out.println(10/+z+=+result);catch(ArithmeticException err)System.out.print

6、ln(出现异常:+err.getMessage();/读取文件异常import java.io.*;class NoFileExceptionpublic static void main(String args) try FileReader fr1=new FileReader(考核标准.txt);BufferedReader br1=new BufferedReader(fr1);String duru=br1.readLine();while(duru!=null)System.out.println(duru);duru=br1.readLine();br1.close();fr1.

7、close();catch(FileNotFoundException fnfErr)System.out.println(文件不存在:+fnfErr.getMessage();catch(IOException ioErr) System.out.println(IO异常:+ioErr.getMessage();finallySystem.out.println(程序执行完毕!); 9.2.2 抛出异常1.抛出异常语句通常异常是由系统自动捕获的,但程序员也可以根据需要自己通过throw语句抛出异常。格式为:throw new 异常类名(异常信息);例如下列,我们可以要求某个方法的参数为正整数

8、,如果不是就抛出异常。class ThrowExceptionpublic void jiSuan(int n)if(n0)throw new IllegalArgumentException(参数应该为正整数!);int result=0;for(int i=0;i=n;i+)result+=i;System.out.println(1+2+.+n+=+result);ThrowException te=new ThrowException();tryte.jiSuan(-5);catch(IllegalArgumentException e)System.out.println(e.get

9、Message();2.抛出异常选项如果一个方法不捕获某类异常,则可以将该类异常抛出,让调用该方法的另一个方法来捕获该类异常。这时要在该方法后使用throws可选项,格式如下:修饰符 返回类型 方法名(参数表) throws 异常类名/如以前讲从键盘输入数据时,要throws IOException异常。9.2.3 自定义异常自定义异常类可以通过继承Exception类来实现,形式为:class 自定义异常类名 extends Exception异常类体;例如:定义一个异常类,用于检查月份的正确与否。import java.io.*;class yueException extends Exc

10、eptionpublic yueException()super(月份不正确!);class yueTestpublic int inputYue() throws IOException,yueExceptionSystem.out.print(请输入月份:);BufferedReader br=new BufferedReader(new InputStreamReader(System.in);String str=br.readLine();int yue=Integer.parseInt(str);if(yue12)throw new yueException();return yue;public static void main(String args)yueTest yt=new yueTest();trySystem.out.println(你的出生年月是:+yt.inputYue();catch(IOException e1)System.out.println(IO异常);catch(yueException e2)System.out.println(e2.getMessage();

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号