2010年6月28日 星期一

JAVA筆記-使用throw和throws自訂觸發例外

使用方法:
(1) 丟出例外物件變數,即顯示系統錯誤訊息 => throw 例外物件變數
(2) 丟出一個例外物件 => throw new Wxception(錯誤訊息字串)
##ReadMore##
public static void main(String[] args)
{
  try
  {
    score(101);
  }
  catch(Exception e)
  {
    System.out.println(e.getMessage());
  }
}

public static void score(int num) throws Exception // throws用來告知此方法有可能發生例外
{
  if(num > 100)
  {
    throw new Exception("Over");
  }
}

score方法為Exception所修飾,使用時必須被呼叫在try-catch內
如果呼叫score的函式有經過throws修飾,則可直接使用,不需try-catch
如:
public static void main(String[] args) throws Exception {

可同時使用多個Exception子類別修飾方法
public void calc() throws IOException, SQLException{
throw new IOException();
throws new Exception(); // 不可丟出更大的父類別
}

2 意見 :

Unknown 提到...

if(score > 100)
{
throw new Exception("Over");
}
應該改成
if(num>100)
{
throw new Exception("Over");
}

MEMO123 提到...

已校正,感謝!

張貼留言