Java&JBuilder教学资料 包 异常与输入输出2.ppt

Java&JBuilder教学资料 包 异常与输入输出2.ppt

ID:51963816

大小:233.50 KB

页数:20页

时间:2020-03-26

Java&JBuilder教学资料 包 异常与输入输出2.ppt_第1页
Java&JBuilder教学资料 包 异常与输入输出2.ppt_第2页
Java&JBuilder教学资料 包 异常与输入输出2.ppt_第3页
Java&JBuilder教学资料 包 异常与输入输出2.ppt_第4页
Java&JBuilder教学资料 包 异常与输入输出2.ppt_第5页
资源描述:

《Java&JBuilder教学资料 包 异常与输入输出2.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、包、异常与输入输出2本单元教学内容异常的基本概念和Java异常处理机制掌握try-catch语句的用法掌握throws关键字的用法什么是异常?classMyMath{publicintdevide(intx,inty){intresult=x/y;returnresult;}}classMyMathTest{publicstaticvoidmain(String[]args){MyMathmobj;mobj=newMyMath();intresult;result=mobj.devide(3,0);System.out.println(

2、"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.getMes

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

5、lt;result=mobj.devide(3,0);System.out.println("theresultis"+result);}catch(Exceptione){System.out.println(e.getMessage());}System.out.println("programisrunninghere.");当try代码块中的语句发生了异常程序就会跳转到相应的catch代码块中执行执行完catch代码块中的程序后,系统会继续执行catch代码块后的其他代码这条语句还会执行吗?将该语句改为result=mobj.d

6、evide(3,1)执行过程又如何?catch语句块当try代码块中的程序发生了异常,系统将这个异常发生的代码行号,类别等信息封装到一个对象中,并将这个对象传递给catch代码块catch(Exceptione){System.out.println(e.getMessage());}Exception就是try代码块传递给catch代码块的变量类型,e就是变量名。问题一:e可以改为其他的名字吗?编程实践classNoCatch{publicstaticvoidmain(String[]args){Stringstr=args[0];i

7、nti=Integer.parseInt(str);System.out.println("输入的数据为:"+i);System.out.println("hereistheendoftheprogram");}}该程序运行时,如果没有输入相应的命令行参数,会怎样?如何解决?程序修改如下classNoCatch{publicstaticvoidmain(String[]args){try{Stringstr=args[0];inti=Integer.parseInt(str);System.out.println("输入的数据为:"+i

8、);}catch(ArrayIndexOutOfBoundsExceptione){System.out.println("没有输入命令行参数");}System.out.println("hereisth

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

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

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