ImageVerifierCode 换一换
格式:PPTX , 页数:32 ,大小:219.34KB ,
文档编号:4701163      下载积分:25 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-4701163.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(晟晟文业)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(异常和断言课件.pptx)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

异常和断言课件.pptx

1、1 1 1学习目标 理解异常和异常处理 区别异常的类型:Error(严重的)vs.Exception(不严重的),必检异常和免检异常 在方法头中声明异常 在方法中抛出异常 使用 try-catch 块处理异常 解释异常的传播 finally 子句 声明断言2 2 2三类错误语法错误 syntax errors运行错误runtime errors逻辑错误logic errors.3 3 3运行错误 import javax.swing.JOptionPane;public class Test public static void main(String args)String input=JO

2、ptionPane.showInputDialog(null,Please enter an integer);int number=Integer.parseInt(input);/Display the result JOptionPane.showMessageDialog(null,The number entered is +number);System.exit(0);跳过其余行,程序终止.4 4 4捕捉运行错误 import javax.swing.JOptionPane;public class Test public static void main(String args)

3、try String input=JOptionPane.showInputDialog(null,Please enter an integer);int number=Integer.parseInt(input);/Display the result JOptionPane.showMessageDialog(null,The number entered is +number);catch(Exception ex)JOptionPane.showMessageDialog(null,Incorrect input:an integer is required);System.out

4、.println(Execution continues.);System.exit(0);-5 5 5异常类 LinkageError Error AWTError AWTException Throwable ClassNotFoundException VirtualMachineError IOException Exception RuntimeException Object ArithmeticException NullPointerException IndexOutOfBoundsException Several more classes Several more cla

5、sses Several more classes IllegalArgumentException 6 6 6系统错误 LinkageError Error AWTError AWTException Throwable ClassNotFoundException VirtualMachineError IOException Exception RuntimeException Object ArithmeticException NullPointerException IndexOutOfBoundsException Several more classes Several mor

6、e classes Several more classes IllegalArgumentException 系统错误是由 JVM抛出并在Error类中描述的。Error类描述内部的系统错误。如果发生,除了通知用户尽量稳妥的结束程序外,几乎什么也不能做。7 7 7异常 LinkageError Error AWTError AWTException Throwable ClassNotFoundException VirtualMachineError IOException Exception RuntimeException Object ArithmeticException Null

7、PointerException IndexOutOfBoundsException Several more classes Several more classes Several more classes IllegalArgumentException 异常是由Exceptions 类描述的。Exceptions 类描述由程序和外部环境引起的错误,这些错误能通过程序捕获和处理。8 8 8运行异常 LinkageError Error AWTError AWTException Throwable ClassNotFoundException VirtualMachineError IO

8、Exception Exception RuntimeException Object ArithmeticException NullPointerException IndexOutOfBoundsException Several more classes Several more classes Several more classes IllegalArgumentException 运行错误由 RuntimeException 类描述的,编程错误如不合适的转换、访问一个越界数组或数值错误等。9 9 9必检异常和免检异常RuntimeException,Error 以及它们的子类都称

9、为免检异常 unchecked exceptions。免检异常反映程序中不可重获的逻辑错误。所有的其他异常都称为必检异常 checked exceptions,意思是指编译器会强制程序员检查并处理它们。101010必检异常和免检异常 LinkageError Error AWTError AWTException Throwable ClassNotFoundException VirtualMachineError IOException Exception RuntimeException Object ArithmeticException NullPointerException In

10、dexOutOfBoundsException Several more classes Several more classes Several more classes IllegalArgumentException 免检异常111111理解异常处理method1()try invoke method2;catch(Exception ex)Process exception;method2()throws Exception if(an error occurs)throw new Exception();捕获异常 抛出异常 声明异常121212声明异常Throws可以声明异常:pub

11、lic void myMethod()throws IOExceptionpublic void myMethod()throws IOException,OtherException131313抛出异常当程序检查到一个错误后,创建一个适当类型异常的实例并抛出它,称为抛出异常。抛出异常使用throw throw new TheException();TheException ex=new TheException();throw ex;141414抛出异常举例/*Set a new radius*/public void setRadius(double newRadius)if(newRad

12、ius=0)radius=newRadius;else throw new IllegalArgumentException(Radius cannot be negative);151515捕获异常try statements;/Statements that may throw exceptionscatch(Exception1 exVar1)handler for exception1;catch(Exception2 exVar2)handler for exception2;.catch(ExceptionN exVar3)handler for exceptionN;161616

13、捕获异常 main method .try .invoke method1;statement1;catch(Exception1 ex1)Process ex1;statement2;method1 .try .invoke method2;statement3;catch(Exception2 ex2)Process ex2;statement4;method2 .try .invoke method3;statement5;catch(Exception3 ex3)Process ex3;statement6;method3抛出一个异常171717注从一个通用父类可以派生出多种异常类。在

14、catch子句中指定异常的顺序是非常重要的。如果父类的catch子句出现在子类的catch子句之前,就会导致编译错误。Java强迫程序员处理必检异常。181818Example 声明、抛出和捕获异常问题:演示声明、抛出和捕获异常。改写6.10节中的setRadius 方法。TestCircleWithExceptionRunCircleWithException191919Example GUI 程序中的异常GUI程序出现异常,在控制台上输出错误信息,用户界面处理可以继续进行。编写程序,创建一个用户界面进行整数除法。IntegerDivisionRun202020重新抛出异常try state

15、ments;catch(TheException ex)perform operations before exits;throw ex;212121finally 子句try statements;catch(TheException e)handling e;finally finalStatements;222222何时使用异常一个方法出现异常时,如果想让该方法的调用者处理异常,应该创建一个异常对象并抛出。如果能在发生异常的方法中处理异常,那么就不需要抛出异常。一般来说,项目中多个类上发生的共同异常,应该考虑作为异常类处理。发生在个别方法中的简单错误最好进行局部处理,不要抛出异常。232

16、323何时使用异常当必须处理不可预料的错误时,应该使用try catch块。简单的、可预料的不要使用。try System.out.println(refVar.toString();catch(NullPointerException ex)System.out.println(refVar is null);if(refVar!=null)System.out.println(refVar.toString();else System.out.println(refVar is null);最好替换为:242424用户自定义的异常系统定义的异常主要用来处理系统可以预见的较为常见的运行错误,

17、对于某个应用所特有的运行错误,需要自己创建用户自定义的异常类,用于处理用户程序中特定的逻辑运行错误。例:方法例:方法void ccs(int i)if(i10)throw(new MyException(i);elseSystem.out.println(ccs is:+i);主程序中加入:主程序中加入:tryccs(1);ccs(5);ccs(20);ccs(30);catch(MyException e)System.out.println(Exception is:+e.toString();可见,可见,catch语句应跟在语句应跟在try语句后,当语句后,当try中的语句在执行时产生一

18、个中的语句在执行时产生一个异常后,被启动的异常处理会自动捕捉,并跳到异常后,被启动的异常处理会自动捕捉,并跳到catch语句去执行。语句去执行。272727创建系统异常类RunRadiusExceptionF可以通过扩展Exception类或其子类来创建自己的异常类。CircleWithRadiusExceptionTestCircleWithRadiusException282828断言断言 assertion 是java的语句,它允许对程序提出一个判断(假设)。断言包含一个布尔表达式,在程序运行中,它应该是真。断言用于确保程序的正确性,避免逻辑错误。292929断言assert 声明断言:

19、assert assertion;assert assertion:detailMessage;assertion是一个布尔表达式detailMessage 是一个基本类型值或一个对象值。303030执行断言示例public class AssertionDemo public static void main(String args)int i;int sum=0;for(i=0;i 10&sum 5*10:sum is +sum;313131运行带断言的程序默认情况下断言不起作用。为使它们有效,使用开关enableassertions,或 ea:java ea AssertionDemo断言无效:disableassertions 或 da java ea:package1 da:Class1 AssertionDemo323232断言使用switch(month)case 1:.;break;case 2:.;break;.case 12:.;break;default:assert false:Invalid month:+month

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|