欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    异常Exception处理.ppt

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

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

    异常Exception处理.ppt

    第七章 异常(Exception)处理,异常,运行期出现的错误(注意看异常信息,看名字,看行号)健壮性,代码,public class HelloWorld public static void main(String args)int i=0;String greetings=Hello!,No,WORLD!;while(i 4)System.out.println(greetingsi);i+;,正常与异常,正常与异常之比可达30 比 70%打开文件文件不存在?文件打不开?读取文件没有足够可读内容?权限不允许读写文件磁盘满网络断线关闭文件,异常机制简介,在进行程序设计时,错误的产生是不可避免的,如何处理错误?把错误交给谁去处理?程序又该如何从错误中恢复?这是任何程序设计语言都要解决的问题。所谓错误,是在程序运行过程中发生的异常事件,比如除0溢出、数组越界、文件找不到等,这些事件的发生将阻碍程序的正常运行。为了增加程序的强壮性,程序设计时,必须考虑到可能发生的异常情况并做出相应的处理。,异常处理的优点,把错误处理代码从常规代码中分离出来按错误类型和差别分组对无法预测的错误进行捕获和处理克服了传统方法的错误信息有限的问题把错误传播给调用堆栈,系统预定义异常对象,须查异常与不须查异常,须查异常多数的 Throwable、Exception不须查异常Error、RuntimeException当在一个方法的代码中抛出一个须查异常时,这个异常或者被方法中的try-catch结构捕获,或者在方法的throws语句中声明编译器检查程序保证所有须查异常都被程序显示的处理,Exception,类 Exception 定义了一些你的程序可能出现的轻度错误条件异常可能发生在:你试图打开的文件并不存在 网络连接中断操作数处理的超出预描述的范围需要加载的文件丢失Error 类定义了一些严重的错误条件,Java的异常处理是通过5个关键字来实现的:try、catch、finally、throw、throws,捕获异常,catch,try,finally,执行可能产生 异常的代码,捕获异常,无论是否发生异常,代码总能执行,手动抛出异常,抛出异常,throw,声明异常,声明方法可能要抛出的各种异常,throws,try,catch 语句的使用,try/这里的代码可能抛出一个特别的异常 catch(MyExceptionType e)如果MyExceptionType 的异常被抛出,将执行这里的代码 catch(Exception e)如果一个一般 Exception 被抛出时,将执行这里的代码,异常的执行流程,正常顺序1,2,3,5 异常顺序1,2,4,5try块外异常不理会,try123catch(Exception e)45,异常发生处,在try/catch块后加入finally块,可以确保无论是否发生异常,finally块中的代码总能被执行,try 块,finally 块,catch 块,无异常,有异常,举例,public class HelloWorld2 public static void main(String args)int i=0;String greetings=Hello world!,No,I mean it!,HELLO WORLD!;while(i 4)try System.out.println(greetingsi);catch(ArrayIndexOutOfBoundsException e)System.out.println(Re-stting Index Value);finally System.out.println(This is always printed);i+;,异常处理机制,如果一个异常没有在当前的try、catch中被处理,它将被抛至方法的调用者处。如果异常被返回到main方法里,并且仍然没有被处理,程序将异常中止。,练习,编写一个类ExceptionTest1,在main方法中使用try、catch、finally:在try块中,编写被0除的代码在catch块中,捕获被0除所产生的异常,并且打印异常信息在finally块中,打印一条语句,多重catch块,一段代码可能会引发多种类型的异常当引发异常时,会按顺序来查看每个 catch 语句,并执行第一个与异常类型匹配的catch语句执行其中的一条 catch 语句之后,其后的 catch 语句将被忽略,抛出异常,如果在当前环境无法解决一个异常,就要将其抛出,把异常交给调用者处理,练习,编写类ExceptionTest2:定义两个方法:go()和main()在go方法中声明要抛出异常,在该方法体内,抛出一个Exception对象在main()方法中,调用go方法,使用try/catch捕获go方法中抛出的异常,用户自定义异常对象,系统预定义异常类代表了程序运行过程中可能产生的绝大多数异常。如果希望记录和应用相关的错误信息,则可创建自己的异常类。该类的定义和普通类无太大区别,只需继承Exception类或RuntimeException类即可。例如:,public class MyProjException extends Exception,自定义异常,通过继承java.lang.Exception类声明自己的异常类。在方法适当的位置生成自定义异常的实例,并用throw抛出。在方法的声明部分用throws声明该方法可能抛出的异常。,自定义异常举例:,public class ServerTimedOutException extends Exceptionprivate String serverName;private int port;public ServerTimedOutException(String serverName,int port)this.serverName=serverName;this.port=port;public int getPort()return port;public void setPort(int port)this.port=port;public String getServerName()return serverName;public void setServerName(String serverName)this.serverName=serverName;,public class Testpublic static void main(String args)Test t=new Test();tryt.connectMe(sinojava,80);catch(ServerTimedOutException e)System.out.println(连接服务器+e.getServerName()+,端口为+e.getPort()+失败);public void connectMe(String serverName,int port)throws ServerTimedOutExceptionif(serverName.equals(sinojava),Java异常的使用,对非运行时异常必须捕获或声明。对运行时异常,若不能预测它何时发生,程序可不作处理,而是交给Java运行时系统来处理;若能预知它可能发生的地点和时间,则应在程序中处理,而不应简单地交给运行时系统。异常可以人为地抛出,用throw new 语句。异常可以是系统已经定义好的,也可以是用户自己定义的。用户自己定义的异常一定继承自Throwable或Exception类。在自定义异常类时,如果它所对应的异常事件通常总是在运行时产生,而且不容易预测它将在何时何地发生,可以将它定义为运行时异常,否则应定义为非运行时异常。应该使用finally语句为异常处理提供统一的出口。,关于异常的设计,异常处理不是用来代替测试程序不要压制异常抛出异常不是一件坏事,

    注意事项

    本文(异常Exception处理.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开