java-Exception

   1    当遇到在写一个方法M1()时,只需要throws出一个自己定义的该方法特定的Exception,而其中如果调用其他方法M2(),而接到的Exception,可以用throw new RuntimeException处理,这样做前提M2()throws出的Exception,对调用M1()的方法M3()并不想关心M2所throws出的Exception.如:

  /**
   *insert object
   *@throws CreateException
   */
  private void M1() throws CreateException {
    String insertsql =
        "insert into users ( LOGIN, PWD ,nickname) values (?,?,?)";
     try {
      this.M2(); 
    }
    catch (DataNotFoundException ex){
      throw new RuntimeException("no find max(id) from users" + ex);
    }
    catch (SQLException ex) {
      throw new CreateException("User.insert()" + ex);
    }
    finally{
      conn.close();
    }
  }
  public void M2() throws DataNotFoundException{
       .........
  }

  public void M3() throws CreateException  {
           M1();
  }

2
===========================================================================
  ClassCastException(当企图增加一个不兼容的对象到一个类集中时)
  InterruptedException (操作线程的方法时)
  NoSuchElementException (next() 返回下一个元素,如果没有下一个元素)
  NullPointerException (如果试图使用映射不允许使用的null对象时,则引发一个        NullPointerException异常)
  UnsupportedOperationException (对一个不可修改的类集使用某些修改方法)
 IllegalMonitorStateException  wait() 或notify()找不到 明确的 specified  monitor 时

===========================================================================
3 Exception : 子类override父类中同方法,如果父类中该方法有抛异常,子类中该方法要不就不抛异常,否则要是同层或该异常的子类
 注意:子类override方法可以不throws出错误,而且抛出的错误可以是父上一层,本层,子下一层,

4.You cannot use Error as well because it is not like the hierarchy of Exception.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章