欢迎来到天天文库
浏览记录
ID:51963816
大小:233.50 KB
页数:20页
时间:2020-03-26
《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
此文档下载收益归作者所有