@throwsタグ (@exceptionタグ)

広告

「@throws」タグは発生する可能性のある例外に関する説明を表示する場合に使います。なお「@exception」タグと「@throws」タグはタグ名が違うだけでまったく同じ使われ方をします。

@throws class-name description 

戻り値に対する説明を表示する

記述場所 : メソッド
複数記述 : 可
出力形式 : 例外
その他   :

メソッド内で発生する例外に対して例外クラス名とその説明を記述します。使い方としては次のようになります。

/**
 *  コメントの説明文
 *  @throws java.io.FileNotFoundException 指定のファイルが見つかりません
 */

クラス名は完全指定で指定しますが、パッケージ名などが省略された場合には次の順序に従って検索します。

1. 現在のクラスまたはインタフェース
2. 外側を囲んでいるクラスとインタフェース (もっとも近いものから検索)
3. スーパークラスとスーパーインタフェース (もっとも近いものから検索)
4. 現在のパッケージ
5. インポートされているパッケージ、クラス、およびインタフェース (import 
   文の順序に従って検索)

複数の「@throws」タグが指定された場合は、それぞれが別の行として表示されます。

サンプル

では簡単な例で試してみます。

Sample09_01.java

import java.io.*;

/**
 * Javadocテスト用クラス
 */
public class Sample09_01{
  /**
   * サイズの設定
   * @param width 幅
   * @param height 高さ
   */
  public void setSize(int width, int height){

  }

  /**
   * ファイルへ書き込み
   * @throws FileNotFoundException 指定のファイルが見つかりません
   */
  public void writeToFile() throws FileNotFoundException{

  }

  /**
   * ファイルから読み込み
   * @throws java.io.IOException 入出力関係
   * @throws java.lang.SecurityException セキュリティ関係
   */
  public void readFromFile() throws IOException, java.lang.SecurityException{

  }
}

では上記のソースコードを「Sample09_01.java」の名前で保存し、その保存したディレクトリで次のように実行して下さい。

javadoc -d doc Sample09_01.java

「doc」ディレクトリ内にある「Sample09_01.html」ファイルをブラウザで見てください。

@throwsタグ

ちなみに「@throws」タグを記述しなかったとしても、発生する可能性がある例外はJavadocで自動的に抽出されて表示されます。その場合は説明は空白で表示されます。次の例で試してみます。

Sample09_02.java

import java.io.*;

/**
 * Javadocテスト用クラス
 */
public class Sample09_02{
  /**
   * サイズの設定
   * @param width 幅
   * @param height 高さ
   */
  public void setSize(int width, int height){

  }

  /**
   * ファイルへ書き込み
   */
  public void writeToFile() throws FileNotFoundException{

  }

  /**
   * ファイルから読み込み
   * @throws java.io.IOException 入出力関係
   */
  public void readFromFile() throws IOException, java.lang.SecurityException{

  }
}

では上記のソースコードを「Sample09_02.java」の名前で保存し、その保存したディレクトリで次のように実行して下さい。

javadoc -d doc Sample09_02.java

「doc」ディレクトリ内にある「Sample09_02.html」ファイルをブラウザで見てください。

@throwsタグ

上記のように「@throws」タグが記述されていない例外についても表示だけは行われます。

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)