Java面向对象程序设计 第二版代码教案资源聂哲异常处理.ppt

Java面向对象程序设计 第二版代码教案资源聂哲异常处理.ppt

ID:51963944

大小:793.50 KB

页数:35页

时间:2020-03-26

Java面向对象程序设计 第二版代码教案资源聂哲异常处理.ppt_第1页
Java面向对象程序设计 第二版代码教案资源聂哲异常处理.ppt_第2页
Java面向对象程序设计 第二版代码教案资源聂哲异常处理.ppt_第3页
Java面向对象程序设计 第二版代码教案资源聂哲异常处理.ppt_第4页
Java面向对象程序设计 第二版代码教案资源聂哲异常处理.ppt_第5页
资源描述:

《Java面向对象程序设计 第二版代码教案资源聂哲异常处理.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、面向对象程序设计(Java)----异常处理深圳职业技术学院主讲教师:袁梅冷2008-06-10电信学院---软件工程系本单元教学内容异常的基本概念和Java异常处理机制掌握try-catch语句的用法掌握throws关键字的用法什么是异常?classMyMath{publicintdevide(intx,inty){intresult=x/y;returnresult;}}classMyMathTest{publicstaticvoidmain(String[]args){MyMathmobj;mobj=newMyMath();intresult;result=m

2、obj.devide(3,0);System.out.println("theresultis"+result);}}该程序编译能通过吗?运行程序,有什么信息返回?异常Exceptioninthread"main"java.lang.ArithmeticException:/byzero这说明,程序发生了算术异常(ArithmeticException),非正常的结束了。这种情况就是我们说的异常异常定义了程序中遇到的非致命的错误,而不是编译时的语法错误。如除数为0,打开一个不存在的文件,操作数越界等等。异常的基本概念运行时发生的错误称为异常。如果不对异常进行处理,那

3、么一旦引发异常,程序将突然中止。要么控制权返回给操作系统。要么系统处于死机崩溃状态。因此,安全健壮的程序设计语言应当引入有效的异常处理机制对MyMathTest类进行如下修改classMyMathTest{publicstaticvoidmain(String[]args){try{MyMathmobj;mobj=newMyMath();intresult;result=mobj.devide(3,0);System.out.println("theresultis"+result);}catch(Exceptione){System.out.println(e.g

4、etMessage());}System.out.println("programisrunninghere.");}}说明我们看到,当我们在程序中加了红色的代码后,在出现了异常后,程序没有异常中止,而是正常的继续运行。为什么会这样呢?我们用try…catch语句对程序中可能出现异常的语句进行了处理try{statements}catch(Exceptione){statements}try…catch语句执行过程try{MyMathmobj;mobj=newMyMath();intresult;result=mobj.devide(3,0);System.out.

5、println("theresultis"+result);}catch(Exceptione){System.out.println(e.getMessage());}System.out.println("programisrunninghere.");catch语句块当try代码块中的程序发生了异常,系统将这个异常发生的代码行号,类别等信息封装到一个对象中,并将这个对象传递给catch代码块catch(Exceptione){System.out.println(e.getMessage());}Exception就是try代码块传递给catch代码块的变量类

6、型,e就是变量名。问题一:e可以改为其他的名字吗?编程实践classNoCatch{publicstaticvoidmain(String[]args){Stringstr=args[0];inti=Integer.parseInt(str);System.out.println("输入的数据为:"+i);System.out.println("hereistheendoftheprogram");}}该程序运行时,如果没有输入相应的命令行参数,会怎样?如何解决?程序修改如下classNoCatch{publicstaticvoidmain(String[]args

7、){try{Stringstr=args[0];inti=Integer.parseInt(str);System.out.println("输入的数据为:"+i);}catch(ArrayIndexOutOfBoundsExceptione){System.out.println("没有输入命令行参数");}System.out.println("hereistheendoftheprogram");}}为什么?出的是什么异常?请注意,我们在catch中捕获的是哪种类型的异常?而我们现在出现的是哪种异常?要处理这种新出现的异常,我们应该怎么做呢?新增一个cat

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。