throws

throws文は、例外処理を行うための構文です。

throws句について

throws句は例外処理を行う構文の一つです。
try-catch-finally句と異なり、自身では例外処理を行わずに呼び出し元に発生した例外を投げて例外処理を依頼する方法です。

throws構文

throws句はメソッド定義に指定します。

[修飾子] void メソッド名 throws 例外クラス名 [, …]{ // 例外を投げる可能性のあるコード }
【throws句のブロック】
ブロック解説
throwsメソッドに投げたい例外クラスを指定します。
指定した例外クラスのサブクラスの例外はすべてthrows対象になります。
カンマ区切りで複数の例外クラスを指定することも可能です。

throwsサンプルソース

(throwsを使用した例)

public class SampleClass {

  public static int cnv(String str) throws NumberFormatException {
    return Integer.parseInt(str);
  }
    
  public static void main(String[] args) {

    try {
      int result = cnv("ABC");
    } catch (NumberFormatException e) {
      System.out.println("cnvメソッドで例外が発生しました:" + e.getMessage());
    }
  }
}
(実行結果)
C:\>java SampleClass cnvメソッドで例外が発生しました:For input string: “ABC”

この例ではcnvメソッド内で例外が発生していますが例外をthrowしているため、
呼び出し元のmainメソッドで例外をcatchして処理しています。

コメント

タイトルとURLをコピーしました