zoukankan      html  css  js  c++  java
  • Java异常处理

    1. 异常分类

      

      Java中所有的异常类都派生于Throwable类,Throwable类有子类Error和Exception类。其中Error表示Java运行时系统的内部错误,Exception表示程序运行异常。Exception的子类又分为两大类:RuntimeException类和其他异常类,RuntimeException表示程序的逻辑错误,如:NullPointerException;其他异常表示外部异常条件引起的错误,如:IOException。

      Java将异常分为已检查异常和未检查异常,未检查异常包括Error和RuntimeException,已检查异常包括其他Exception。未检查异常表示该种错误要么无法由程序员控制(Error),要么程序员完全应该避免(RuntimeException)。而已检查异常表示由外部条件引发的错误,Java的异常处理机制主要是为了处理已检查异常。

    2. 覆盖与异常

      子类想要覆盖父类中的一个方法,如果父类中该方法没有抛出异常,则子类中的新方法也不能抛出异常;如果父类中该方法抛出异常,则子类中可以不抛出异常,若抛出异常,则要求子类中方法抛出的异常范围不超过父类中方法抛出的异常。

    3.finally子句

      finally子句表示不管try块中是否发生异常,都会执行finally块中的代码。finally通常用来释放程序中需要手动释放的资源,如:关闭文件,关闭数据库连接等。例:

    try
    {
      try
      {
         input.read(.....); 
    return 1; }
    finally { input.close();
    return 2; } }
    catch(IOException e) { e.printStackTrace(); }

      需要注意的是,上面的例子中,里面的try语句只有finally子句,实际上这是合法并且推荐的方式,表示该try语句的目的就是为了释放资源,并且,很多情况下,finally子句中的代码有可能会抛出异常。

      假设try语句中包含return语句,而finally子句中也包含return语句,则finally中的return语句会覆盖try语句中的返回值。

    参考资料 《Java核心技术》  

  • 相关阅读:
    eclipse rcp 获取工程项目路径
    Eclipse RCP中添加第三方jar包的办法
    eclipse content assist 代码提示功能失效解决办法
    lwuit更改字体大小
    lwuit调整滚动条灵敏度值
    AWTEvent
    IE7 IE6去掉关闭提示框的解决方案
    jQuery多库共存最优解决方案
    电子商务网站 数据库产品表设计方案
    javascript操作cookie
  • 原文地址:https://www.cnblogs.com/jqctop1/p/4690919.html
Copyright © 2011-2022 走看看