JSPの例外処理
JSPアプリケーションを記述する場合、プログラマはいくつかのバグを見逃すことが、バグはプログラムのどこ表示されることがあります。 JSPコードは、一般的に次のカテゴリの例外です:
- チェック例外は:例外一般的なユーザー・エラーまたはプログラマ予期せぬエラーがあるチェックボックスをオンにしました。 たとえば、場合、ファイルは、例外がスローされ、その後、オープンするが、ファイルを見つけることができないです。 これらの異常は、もはや単に無視されてコンパイルすることはできません。
- ランタイム例外:ランタイム例外プログラマは、この異常がコンパイル時に無視され、回避されている可能性があります。
- エラー:そこには例外はありませんが、問題は、それがユーザやプログラマの制御を超えているということです。 エラーが頻繁にコード内で見過ごされている、あなたはほとんどどのようにそれを取ることはできません。 一例として、またはスタックオーバーフローエラーによります。 これらのエラーは、コンパイル時に無視されます。
このセクションでは、実行時例外やエラーを処理するためのいくつかのシンプルかつエレガントな方法を提供します。
例外オブジェクトを使用します
例外オブジェクトは、エラーページで利用できる、Throwableのサブクラスのインスタンスです。 次の表は、重要な点でThrowableクラスのいくつかを示しています。
いいえ。 | メソッド と 説明 |
---|---|
1 | 公共の文字列のgetMessage() 例外を返します。 この情報は、コンストラクタのThrowableに初期化されます |
2 | 公共ThrowablegetCause() 例外の原因、のThrowable型のオブジェクトを返します。 |
3 | 公共の文字列のtoString() クラスの名前を返します |
4 | 公共ボイドのprintStackTrace() System.errに例外スタックトレース出力 |
5 | 公共のStackTraceElement [] getStackTraceメソッド() 配列のスタックトレース要素の形で例外スタックトレースを返します。 |
6 | 公共ThrowablefillInStackTrace() 現在のスタックトレースは、Throwableオブジェクトを塗りつぶします |
JSPは、各JSPページのエラーページを指定するオプションが用意されています。 ページが例外をスローするたびに、JSPコンテナは自動的にエラーページを呼び出します。
次の例のmain.jspはエラーページを指定します。 <%@ページのerrorPageでは= "XXXXX"%>ディレクティブはエラーページを指定する使用します。
<%@ page errorPage="ShowError.jsp" %> <html> <head> <title>Error Handling Example</title> </head> <body> <% // Throw an exception to invoke the error page int x = 1; if (x == 1) { throw new RuntimeException("Error condition!!!"); } %> </body> </html>
さて、ShowError.jsp次のドキュメントを記述します。
<%@ page isErrorPage="true" %> <html> <head> <title>Show Error Page</title> </head> <body> <h1>Opps...</h1> <p>Sorry, an error occurred.</p> <p>Here is the exception stack trace: </p> <pre> <% exception.printStackTrace(response.getWriter()); %>