JSPでの例外処理

JSPの例外とは何ですか?

例外 JSPでは、開発者によるコードエラーまたはシステムの内部エラーが発生した場合に発生します。JSPでの例外処理は、 Java ここではTry Catchブロックを使用して例外を管理します。 Javaただし、コードにエラーがない場合でも、JSP では例外が発生します。

JSP の例外の種類

JSP の例外には次の XNUMX つのタイプがあります。

  1. チェックされた例外
  2. 実行時例外
  3. エラー例外

チェック済みの例外

通常、これはユーザー エラーまたは開発者が認識できない問題であり、チェック例外と呼ばれます。チェック例外の例をいくつか示します。

  1. FileNotFoundException: これはチェック例外です (ファイルがディスク上に見つからない場合にファイルの検索を試みます)。
  2. IO例外: ファイルの読み取りまたは書き込み中に例外が発生した場合、これもチェック例外となり、IO 例外が発生します。
  3. SQL例外: これは、ファイルが接続されている場合のチェック例外でもあります。 SQL SQL データベースの接続に問題がある場合、SQLException が発生します。

ランタイム例外

ランタイム例外は、プログラマーが回避できた例外です。コンパイル時には無視されます。ランタイム例外の例をいくつか示します。

  1. ArrayIndexOutOfBoundsException: これは、配列サイズが制限を超えた場合の実行時例外です。 要素は.
  2. 算術例外: これは、通常の状態では許可されない数学演算がある場合の実行時例外でもあります。たとえば、数値を 0 で割ると例外が発生します。
  3. NullPointer 例外: これは、変数またはオブジェクトにアクセスしようとしたときにその変数またはオブジェクトが null の場合に発生する実行時例外でもあります。 これは非常に一般的な例外です。

エラー:

この問題は、ユーザーまたはプログラマーの制御によって発生します。スタックがオーバーフローすると、エラーが発生する可能性があります。エラーの例をいくつか次に示します。

  1. エラー: このエラーは、アプリケーションが捕捉できない重大な問題を示す throwable のサブクラスです。
  2. インスタンス化エラー: このエラーは、オブジェクトをインスタンス化しようとして失敗したときに発生します。
  3. 内部エラー: このエラーは、JVM からエラーが発生した場合に発生します。 Java 仮想マシン.

エラーの例外

これは throwable クラスのインスタンスであり、エラー ページで使用されます。 throwable クラスのメソッドには次のようなものがあります。

  • パブリック文字列 getMessage() – 例外のメッセージを返します。
  • パブリック throwablegetCause() – 例外の原因を返します
  • パブリック printStackTrace()– 例外のスタックトレースを返します。

JSPで例外を処理する方法

JSP で例外を処理する方法の例を次に示します。

例外_例.jsp

<%@ page errorPage="guru_error.jsp" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Exception Guru JSP1</title>
</head>
<body>
<% 
 int num = 10;
   if (num == 10)
   {
      throw new RuntimeException("Error condition!!!");
   }
 %>
   </body>
</html>

Guru_error.jsp

<%@ page isErrorPage="true" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Exception Page</title>
</head>
<body>
<p>Guru Exception has occurred</p>
<% exception.printStackTrace(response.getWriter()); %>
</body>
</html>

コードの説明:

例外_例.jsp

コード行 1: ここでは、エラーがリダイレクトされるときに使用されるエラー ページを guru_error.jsp に設定しています。

コード行 15: 変数 num を取得して 10 に設定し、条件をチェックして num が 10 であれば、エラー条件としてメッセージを含むランタイム例外をスローします。

Guru_error.jsp

コード行 1: ここでは isErrorPage 属性を true に設定しています。

コード行 12: この例外は throw オブジェクトを使用して例外_example.jsp で発生しており、IsErrorPage 属性が true としてマークされているため、その例外がここに表示されます。 例外 (これは、JSP から例外データにアクセスできるようにするオブジェクトです。) オブジェクトを使用して、Exception_example.jsp で発生したエラーのスタックトレースを出力しようとしています。

上記のコードを実行すると、次の出力が得られます。

JSPで例外を処理する

出力:

実行時例外の throw オブジェクトを使用して exception_example.jsp からスローされた例外が発生し、上記のコードが取得されます。また、このファイルから Guru 例外が発生した guru_error.jsp が呼び出されます。

まとめ

  • JSP の例外は、開発者によるコード内のエラー、またはシステムの内部エラーがある場合に発生します。
  • JSP の例外には、チェック例外、実行時例外、エラー例外の 3 種類があります。
  • チェック例外は通常、ユーザー エラー、または開発者が認識できない問題をチェック例外と呼びます。
  • 実行時例外は、プログラマが回避できた例外です。 これらはコンパイル時には無視されます。
  • エラー例外はスロー可能クラスのインスタンスであり、エラー ページで使用されます。