HOWTO · Java

Java で例外を再スローする

このチュートリアルでは、Java で例外を再スローする方法を示します。

Java では、throw組み込み 例外または ユーザー定義 例外 のいずれかをスローするために最も一般的に使用されるキーワードですが、catch を介して同じ例外を throw する必要がある場合もあります。 ブロック。

この状況は、例外の再スローと呼ばれます。 このチュートリアル記事では、再スローする例外について学び、元のスタック トレースを変更せずにこのタスクを実行します。

Java での例外の再スローのデモ

データベースの操作など、機密性の高いプログラムを使用している場合は、より高いレベルに伝播する前に例外を追跡することが不可欠です。

catch ブロックでいくつかのアクティビティを実行し、例外を再スローして、システムで例外が発生したことをプログラムの上位レベルに通知する必要があります。

以下の例では、string 値が null に設定されたときに例外を再スローします。 この目的のためのコードは次のようになります。

public class JavaException {
  public static void main(String args[]) {
    String Name = null;

    try {
      if (Name.equals("Mark"))
        System.out.println("Matched"); // This will cause NullPointerException
    } catch (Exception e) {
      throw e;
    }
  }
}

上記のコード フェンスでは、最初に string 変数 Name の値を null に設定します。 その後、java try{ ... } catch { ... } の例外ハンドラを使用し、その中で string の値を別の string と比較しました。

これにより、NullPointerException エラーが発生します。 上記のサンプル コードを実行すると、コンソールに以下の出力が表示されます。

Exception in thread "main" java.lang.NullPointerException
    at javacodes.JavaException.main(JavaException.java:8)

例のコードを真剣に見ると、コードが例外をキャッチして再スローし、変更を加えずに元のスタック トレースを取得していることがわかります。