欢迎来到天天文库
浏览记录
ID:51488946
大小:122.50 KB
页数:18页
时间:2020-03-24
《孙卫琴《Java面向对象编程》配套PPT--java_base3_excep.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第5课异常处理Java异常处理机制把各种不同类型的异常情况进行分类,用Java类来表示异常情况,这种类被称为异常类。把异常情况表示成异常类,可以充分发挥类的可扩展和可重用的优势。异常流程的代码和正常流程的代码分离,提高了程序的可读性,简化了程序的结构。可以灵活的处理异常,如果当前方法有能力处理异常,就捕获并处理它,否则只需抛出异常,由方法调用者来处理它。参见《Java面向对象编程》的第9章publicvoidwork(){try{工作8个小时//可能会抛出DiseaseException异常下班回家}catch(Diseas
2、eExceptione){去医院看病}}异常处理在Java编程语言中,用try和catch语句来处理异常。格式如下:1.try{2.//codethatmightthrowaparticularexception3.}catch(SpecialExceptione){4.//codetoexecuteifaSpecialExceptionisthrown5.}catch(Exceptione){6.//codetoexecuteifageneralExceptionexceptionisthrown7.}异常处理如果一个方法
3、不想处理异常,可以通过throws语句将异常抛向上级调用方法。intmethod1(intx)throwsException1,Exception2{if(x<0)thrownewException1();if(x==0)thrownewException2();return++x;}voidmethod2()throwsException1,Exception2{//以下代码可能抛出异常inta=method1(1);}异常处理采用堆栈机制publicclassExTester{staticintmethod1(intx)
4、throwsException{if(x<0)thrownewException("x<0");return++x;}staticintmethod2(intx)throwsException{returnmethod1(x);}publicstaticvoidmain(Stringargs[])throwsException{System.out.println(method2(-1));}}main()method2()method1()方法调用堆栈finally语句finally语句定义一个总是被执行的代码块,而不管有
5、没有出现异常。publicvoidwork(){try{开门工作8个小时//可能会抛出DiseaseException异常}catch(DiseaseExceptione){去医院看病;}finally{关门}}publicvoidwork(){try{开门工作8个小时//可能会抛出DiseaseException异常关门}catch(DiseaseExceptione){去医院看病;}}finally语句finally语句定义一个总是被执行的代码块,而不考虑是否出现异常。publicclassFinallyTester{s
6、taticintmethod1(intx)throwsException{if(x<0)thrownewException("x<0");returnx++;}publicstaticvoidmain(Stringargs[]){try{System.out.println(method1(-1));System.out.println("end");}catch(Exceptione){System.out.println("Wrong");}finally{System.out.println("Finally");}异
7、常处理流程try{code1;//可能抛出各种异常}catch(SQLExceptione){System.out.println("SQLException");}catch(IOExceptione){System.out.println("IOException");}catch(Exceptione){System.out.println("Exception");}异常处理流程finally语句不被执行的唯一情况是程序先执行了终止程序的System.exit()方法publicstaticvoidmain(Stri
8、ngargs[]){try{System.out.println("Begin");System.exit(0);}finally{System.out.println("Finally");}System.out.println("End");}异常处理流程publicstaticvoi
此文档下载收益归作者所有