欢迎来到天天文库
浏览记录
ID:58658433
大小:376.00 KB
页数:68页
时间:2020-10-05
《西电 《Java语言程序设计》第11章-异常ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、语言程序设计第十一章异常西安电子科技大学–通信工程学院第十一章异常学习目标理解异常和异常处理区别异常的类型:Error(严重的)与Exception(不严重的),必检异常与免检异常在方法头中声明异常在方法中抛出异常用try-catch块处理异常解释异常的传播在try-catch块中重新抛出异常在try-catch块中使用finally子句了解何时使用异常声明自定义异常类语法错误、运行错误和逻辑错误错误有三类:语法错误、运行错误和逻辑错误出现语法错误(syntaxerror)的原因是没有遵循语言的规则,它们可以由
2、编译器检查发现。在程序运行过程中,如果环境发现了一个不可能执行的操作,就会出现运行错误(runtimeerror)。如果程序没有按照预期的方案执行,就会发生逻辑错误(logicerror)。运行错误importjava.util.Scanner;publicclassRuntimeExceptionDemo{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);System.out.println("Pleaseenter
3、ainteger:");//从键盘读取用户输入,并转换为一个整数,//赋值给number这个变量intnumber=scanner.nextInt();System.out.println("Yourinputis:"+number);}}如果这里出错(如用户输入不是一个整数),则会发生异常。发生异常后,就会跳过后面的内容,并终止程序终止输入一个非整数字符串捕获运行错误运行错误不是我们想要的,它会引起程序异常终止。需要有某种手段来捕获这个错误,让程序在收到错误后,能够继续执行对于上一个例子来说,解决方案:如果发
4、现用户输入了错误的内容(如输入的不是一个整数),则提醒用户再次输入,直到正确为止改进版importjava.util.InputMismatchException;importjava.util.Scanner;publicclassRuntimeExceptionDemo2{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);booleaninputIsValid=false;while(!inputIsValid){
5、try{System.out.println("Pleaseenterainteger:");intnumber=scanner.nextInt();System.out.println("Yourinputis:"+number);inputIsValid=true;}catch(InputMismatchExceptionex){System.out.println("Incorectinput,pleasetryagain.");scanner.nextLine();//重新开始接受输入}}}}如果在该行
6、出现异常,在try块中的其他部分被跳过,并转到catch块异常是个对象,被赋值给了ex跟踪程序执行importjava.util.InputMismatchException;importjava.util.Scanner;publicclassRuntimeExceptionDemo2{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);booleaninputIsValid=false;while(!inputIsV
7、alid){try{System.out.println("Pleaseenterainteger:");intnumber=scanner.nextInt();System.out.println("Yourinputis:"+number);inputIsValid=true;}catch(InputMismatchExceptionex){System.out.println("Incorectinput,pleasetryagain.");scanner.nextLine();//重新开始接受输入}}}
8、}跟踪程序执行importjava.util.InputMismatchException;importjava.util.Scanner;publicclassRuntimeExceptionDemo2{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);booleaninputIsValid
此文档下载收益归作者所有