發新話題

Java 教程《語法說明》Throwing an Exception

Java 教程《語法說明》Throwing an Exception

■ Throwing an Exception
throw
throw new ClassOfThrowable;

throw e;   // e 是 Throwable 或其子類別的 instance

[用法]
ClassOfThrowable 必須是 Throwable 類別或其子類別

[範例]
throw new Exception( );


throws
[modifiers]  returnType  methodName( [parameterList] ) throws ExceptionClass1, ExceptionClass2 ‥‥  {
  ....
}

[用法]
任何的method丟出例外須利用 throws 陳述句宣告丟出何種類的例外

[範例]
public void myMethod( ) throws Exception {
  ....
}


[註]
◇ 自行定義新的例外類別
[class-modifier] class myException extends Exception  {  ‥‥  }

[說明]
自訂例外類別必須繼承 Throwable 類別或其子類別。

Throwable Class 說明
1. 所有例外類別都繼承自 java.lang.Throwable 類別。
例外細分為兩大類,分別為 java.lang.Exception 和 java.lang.Error 類別。
一般而言不會在程式中捕捉可能發生的 Error,因為無法給予適當的處理。
而Exception類別則包含了一般性的例外狀況,例如 I/O 例外等。
2. 程式執行時發生例外,可採取下列方式解決
  1) 交由Java例外處理機制的預設方法處理
  2) 自行使用 try-catch-finally 敘述處理程式可能發生的例外

[範例]
class myException extends Exception {
  String NewExceptionMessage;

  public myException( ) {              //建構函式1
    this.NewExcepti;
  }
  public YourException(String s) {    //建構函式2
    this.NewExceptionMessage = s;
  }

  public void setmyMessage(String s) {   //設定錯誤訊息
    this.NewExceptionMessage = s;
  }
  public String getmyMessage( ) {        //取得錯誤訊息
    return this.NewExceptionMessage;
  }

  public void ShowExceptionMessage( ) {     //顯示自定格式的錯誤訊息
    System.out.println("YourException類別:");
    System.out.println("捕捉到YourException例外!!");
    System.out.println("錯誤訊息==> " + getYourMessage( ));
  }
}

public class myExTest {
  public static void main(String args[ ]) {
    try {
      throw new myException("這是一個錯誤!!!");       
    }
    catch(myException e){
      System.out.println("取得錯誤訊息==> " + E.getYourMessage( ));
      e.ShowExceptionMessage( );
    }
  }
}

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。