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.

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