欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Java网络编程基础 第5章 异常处理.ppt

    • 资源ID:67281761       资源大小:189KB        全文页数:19页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Java网络编程基础 第5章 异常处理.ppt

    JAVA语言程序设计第五章第五章 异常处理异常处理 5.1 5.1 异常类的层次异常类的层次 5.2 5.2 throwsthrows抛出异常抛出异常 5.3 5.3 throwthrow抛抛出异常出异常 5.4 5.4 异常处理异常处理 为什么要引入异常机制为什么要引入异常机制当程序运行的时候,经常会由于各种不当程序运行的时候,经常会由于各种不可避免的原因而产生错误。可避免的原因而产生错误。一个好的程序应该可以自己处理这些错一个好的程序应该可以自己处理这些错误,而不是使整个程序全部瘫痪。误,而不是使整个程序全部瘫痪。JavaJava把运行中各种可能出现的错误都看把运行中各种可能出现的错误都看作异常,并提供了异常处理的能力。作异常,并提供了异常处理的能力。异常的几个概念异常的几个概念异常机制的过程:抛出异常异常机制的过程:抛出异常捕捉异常捕捉异常 1 1 当出现了一些错误,方法都会产生一个当出现了一些错误,方法都会产生一个异异常对象常对象,这个异常对象将交由运行系统来处理。,这个异常对象将交由运行系统来处理。此过程就称为此过程就称为抛出抛出(throwing)throwing)异常异常。2 2 接着,运行系统开始寻找合适的处理方法,接着,运行系统开始寻找合适的处理方法,来处理这个异常。如果系统找到了一个适合的来处理这个异常。如果系统找到了一个适合的处理该异常方法,这一过程就叫处理该异常方法,这一过程就叫捕获异常捕获异常。包括:系统抛出包括:系统抛出 用户自定义抛出用户自定义抛出异常类的结构异常类的结构ObjectThrowableErrorExceptionObjectRuntimeExceptionIOException异常类常用的方法异常类常用的方法1.public Exception()2.public Exception(String s):该参数一般表示该异常对应的错误的描述该参数一般表示该异常对应的错误的描述通过通过public String getMessage()即返回即返回s3.public String toString():返回描述当前异常对象信息的字符串返回描述当前异常对象信息的字符串4.public String getMessage():返回描述当前异常对象信息的详细信息返回描述当前异常对象信息的详细信息5.public void printStackTrace():打印当前异常对象使用堆栈的轨迹打印当前异常对象使用堆栈的轨迹Exception类的构造方法异常处理机制的语法支持异常处理机制的语法支持异常处理由异常处理由try/catch/finally三个语句组成的:三个语句组成的:trytry包含可能出现异常的语句块包含可能出现异常的语句块 一个或多个一个或多个catchcatch块紧随块紧随trytry块,每个块,每个catchcatch块通常处理指定类块通常处理指定类型的异常型的异常 finallyfinally引导块紧随引导块紧随catchcatch块后,主要用于清理现场(可有可无)块后,主要用于清理现场(可有可无)注意:注意:finallyfinally块总是执行,块总是执行,catchcatch块不一定执行块不一定执行格式:格式:trytry.catch(ExceptionName1 e)catch(ExceptionName1 e).catch(ExceptionName2 e)catch(ExceptionName2 e).finallyfinally.try-catch异常处理机制:异常处理机制:当当try体中发生了一个异常,体中发生了一个异常,try-catch语句就会自动在语句就会自动在try体后面的各个体后面的各个catch语句中,找出与该异常类相匹配语句中,找出与该异常类相匹配的参数,就执行包含这一参数的的参数,就执行包含这一参数的catch语句中的语句中的Java代代码。码。不论不论try块中是否发生了异常,是否执行过块中是否发生了异常,是否执行过catch语句,语句,都要执行都要执行finally语句,可以说是为异常处理事件提供的语句,可以说是为异常处理事件提供的一个清理机制。一个清理机制。finallyfinally语句可以说是为异常处理事件提供的一个清理语句可以说是为异常处理事件提供的一个清理机制,一般是用来关闭文件或释放其他的系统资源,作为机制,一般是用来关闭文件或释放其他的系统资源,作为try-catch-finallytry-catch-finally结构的一部分,可以没有结构的一部分,可以没有finallyfinally语句,如语句,如果存在果存在finallyfinally语句,语句,不论不论trytry块中是否发生了异常,是否执块中是否发生了异常,是否执行过行过catchcatch语句,都要执行语句,都要执行finallyfinally语句。语句。带有带有finally子句的子句的try-catch-finallytry-catch-finally语句的形式如下:语句的形式如下:trytry /是正常执行的代码是正常执行的代码,可能产生异常可能产生异常 catchcatch(异常类异常类1 1 e1)e1)/是异常类是异常类1 1的处理代码的处理代码 catchcatch(异常类异常类2 2 e2)e2)/是异常类是异常类2 2的处理代码的处理代码 catchcatch(异常类异常类n en)n en)/是异常类是异常类n n的处理代码的处理代码 finallyfinally /是是执行清除工作的语句执行清除工作的语句finally子句子句finally子句子句finallyfinally子句具体的执行过程如下:子句具体的执行过程如下:(1)(1)trytry块中的语句没有产生异常。块中的语句没有产生异常。在这种情况下,在这种情况下,JavaJava首先首先执行执行trytry块中的所有的语句,然后执行块中的所有的语句,然后执行finallyfinally子句中的代码,子句中的代码,最后执行最后执行trycatch.finallytrycatch.finally块后面的语句;块后面的语句;(2)(2)trytry块中的语句产生了异常,而且此异常在方法内被捕获。块中的语句产生了异常,而且此异常在方法内被捕获。在这种情况下,在这种情况下,JavaJava首先执行首先执行trytry块中的语句,直到产生异常块中的语句,直到产生异常处,然后跳过此处,然后跳过此trytry块中剩下的语句,执行捕获此异常的块中剩下的语句,执行捕获此异常的catchcatch子句的处理代码;然后执行子句的处理代码;然后执行finallyfinally子句中的代码;子句中的代码;(3)(3)如果如果catchcatch子句中没有重新抛出异常,子句中没有重新抛出异常,那么那么JavaJava将执行将执行trycatchfinallytrycatchfinally块后面的语句。如果在块后面的语句。如果在catchcatch子句又重新子句又重新抛出了异常,那么抛出了异常,那么Java将这个异常抛出给方法的调用者;将这个异常抛出给方法的调用者;(4)(4)trytry块中产生了异常,而此异常在方法内没有被捕获。块中产生了异常,而此异常在方法内没有被捕获。在这种情况下,在这种情况下,JavaJava将执行将执行trytry块中的代码直到产生异常,块中的代码直到产生异常,然后跳过然后跳过trytry块中的代码而转去执行块中的代码而转去执行finallyfinally子句中的代码,子句中的代码,最后将异常抛出给方法的调用者。最后将异常抛出给方法的调用者。finally字句字句throw 自定义抛出语句自定义抛出语句 throwthrow 异常类对象;异常类对象;说明:说明:throwthrow之后必须接异常类之后必须接异常类(ThrowableThrowable或其子类或其子类)的实例。的实例。程序会在程序会在throwthrow语句立即终止,其后的语句不再执行语句立即终止,其后的语句不再执行 抛出语句应在满足一定条件时执行抛出语句应在满足一定条件时执行(如与如与ifif连用连用)含有含有throwthrow语句的方法,抛出的异常一般由调用者处理语句的方法,抛出的异常一般由调用者处理throws指定函数抛出的异常指定函数抛出的异常 方法内的代码有可能发生异常而方法内的代码有可能发生异常而又不自己进又不自己进行处理时行处理时,就必须在声明方法时一并指出方法,就必须在声明方法时一并指出方法有可能发生的异常,以便该方法的调用者或系有可能发生的异常,以便该方法的调用者或系统的预设处理方法能够捕获并处理由方法抛出统的预设处理方法能够捕获并处理由方法抛出的异常。的异常。声明格式:声明格式:返回类型返回类型 方法名方法名(参数列表参数列表)throws throws 异常类异常类列表列表 throws抛出异常和方法说明联系在一起,是针对以下情况:抛出异常和方法说明联系在一起,是针对以下情况:调用的方法抛出了异常;调用的方法抛出了异常;检测到了错误并使用检测到了错误并使用throw语句抛出异常;语句抛出异常;程序代码有错误从而异常,如数组越界错误。程序代码有错误从而异常,如数组越界错误。方法中出现的异常由方法中出现的异常由catch语句捕获,进行处理。语句捕获,进行处理。由于异常使用起来非常方便,以至于在很多情况下可由于异常使用起来非常方便,以至于在很多情况下可能会滥用异常。但是,使用异常处理会降低程序运行的速能会滥用异常。但是,使用异常处理会降低程序运行的速度,如果在程序中过多地使用异常处理,程序的执行速度度,如果在程序中过多地使用异常处理,程序的执行速度会显著地降低。这里给出几点建议,来帮助掌握好使用异会显著地降低。这里给出几点建议,来帮助掌握好使用异常处理的尺度。常处理的尺度。(1)(1)在可以使用简单的测试就能完成的检查中,不要使用在可以使用简单的测试就能完成的检查中,不要使用异常来代替它。例如:异常来代替它。例如:if if(ins!=null)(ins!=null)/使用使用insins引用对象引用对象 正确使用异常注意事项:正确使用异常注意事项:(2)(2)不要过细地使用异常。不要过细地使用异常。最好不要到处使用异常,更不最好不要到处使用异常,更不要在循环体内使用异常处理要在循环体内使用异常处理,可以将它包裹在循环体外面。可以将它包裹在循环体外面。(3)(3)不要捕获了一个异常而又不对它做任何的处理。不要捕获了一个异常而又不对它做任何的处理。如下如下例所示:例所示:trytry /正常执行的代码正常执行的代码 catchcatch(Exception e)(Exception e)(4)(4)将异常保留给方法的调用者是很好的做法。将异常保留给方法的调用者是很好的做法。对于有些异常,将其交给方法的调用者去处理是一种更对于有些异常,将其交给方法的调用者去处理是一种更好的处理办法。好的处理办法。正确使用异常注意事项:正确使用异常注意事项:正确使用异常注意事项:正确使用异常注意事项:(5)一个方法被覆盖时,覆盖它的方法必须扔出相同的异常或异常的子类。(6)如果父类扔出多个异常,那么重写(覆盖)方法必须扔出那些异常的一个子集,也就是说不能扔出新的异常。异常处理把异常处理把Java程序各种可能出现的错误都看作异常,程序各种可能出现的错误都看作异常,集中起来统一处理。程序员只需要说明何处理可能的出现异集中起来统一处理。程序员只需要说明何处理可能的出现异常,如何处理即可。常,如何处理即可。throws抛出异常和方法说明联系在一起,是针对以下情抛出异常和方法说明联系在一起,是针对以下情况:调用的方法抛出了异常、检测到了错误并使用况:调用的方法抛出了异常、检测到了错误并使用throw语语句抛出异常、程序代码有错误从而异常。句抛出异常、程序代码有错误从而异常。try-catch异常处理机制。当异常处理机制。当try体中发生了一个异常,体中发生了一个异常,try-catch语句就会自动在语句就会自动在try体后面的各个体后面的各个catch语句中,找出与语句中,找出与该异常类相匹配的参数,就执行包含这一参数的该异常类相匹配的参数,就执行包含这一参数的catch语句中语句中的的java代码,执行完代码,执行完catch语句后,程序恢复执行,但不会回语句后,程序恢复执行,但不会回到异常发生处理继续执行,而是执行到异常发生处理继续执行,而是执行try-catch结构后面的代结构后面的代码。码。finally语句为异常处理事件提供的一个清理机制。语句为异常处理事件提供的一个清理机制。小结:小结:1.1.什么是异常?简述什么是异常?简述JavaJava的异常处理机制。的异常处理机制。2 2.系统定义的异常与用户自定义的异常有何不同?如何使系统定义的异常与用户自定义的异常有何不同?如何使用这两类异常?用这两类异常?3.3.编写从键盘读入编写从键盘读入1010个字符放入一个字符数组,并在屏幕个字符放入一个字符数组,并在屏幕上显示它们的程序,程序中处理数组越界异常。上显示它们的程序,程序中处理数组越界异常。习题习题

    注意事项

    本文(Java网络编程基础 第5章 异常处理.ppt)为本站会员(s****8)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开