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)
例のコードを真剣に見ると、コードが例外をキャッチして再スローし、変更を加えずに元のスタック トレースを取得していることがわかります。
Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.
LinkedIn