zoukankan      html  css  js  c++  java
  • java分享第三天(异常)

    异常的处理办法之一

    捕获异常(try,catch,finally) 

    1 try语句指定了一段代码,该段代码就是一次捕获并处理的范围。在执行过程中,当任意一条语句产生异常时,就会跳过该段中后面的代码。代码中可能会产生并抛出一种或几种类型

    的异常对象,它后面的catch语句要分别对这些异常做相应的处理

    注:当异常处理的代码执行结束后,是不会回到try语句去执行尚未执行的代码。

    2 finally语句无论是否发生异常都会执行:通过 在finally中关闭程序块已打开的资源,比如:文件流,释放数据库连接等

    3 catch语句

    每个try语句块可以伴随一个或多个catch语句,用于处理可能产生的不同类型的异常对象。

    常用方法:

    toString()方法,显示异常的类名和产生异常的原因

    getMessage()方法,只显示产生异常的原因,但不显示类名

    printStackTrace()方法,用来跟踪异常事件发生时堆栈的内容

    这些方法均继承自Throwable类

    catch捕获异常时的捕获顺序:如果异常类之间有继承关系,在顺序安排上需注意,越是顶层的类,越放在下面,再不然就直接把多余的catch省略掉(需要把子类

    FileNotFoundException

    放前面 ,父类

    IoException

    放后面)

    try{
    FileReader reader= new FileReader("d:/a.txt"); 
    char c=      (char)reader.read();
    }catch(FileNotFoundException e){
    e.pintStacktrace(); 
    }catch(IoException e){
    e.pintStacktrace(); 
    }

    如果运行程序时遇到异常,会先执行finally语句块,然后才返回try中的return,如果finally中有return,刚返回return中的值

  • 相关阅读:
    Linux 4.11 内核变化
    c++设计模式
    【MySQL】undo,redo,2PC,恢复思维导图
    10053
    深入理解MySQL中的Redo、Undo、MVCC
    oracle 博客精选
    Linux内存中的Cache真的能被回收么?
    MySQL性能指标及计算方法 等待show processlist
    HTTP抓包工具Fiddler
    科来网络分析
  • 原文地址:https://www.cnblogs.com/tiancy/p/6015705.html
Copyright © 2011-2022 走看看