Skip to main content

エラー処理

すべての Web アプリケーションに対して、InterSystems IRIS® データ・プラットフォームは、アプリケーション・エラーの発生時にユーザにメッセージを表示する既定のエラー・ページを提供します。この代わりに、独自のカスタム・エラー・ページを提供することもできます。エラーが発生して、ライセンスが取得されていない (そのためサーバ・コードを実行できない) 場合の特別なオプションがあります。

このページでは、ユーザが ObjectScript のエラー処理エラー・ログに精通していることを前提としています。

カスタム・エラー・ページの追加

カスタム・エラー・ページを追加するには :

  1. %CSP.ErrorOpens in a new tab のサブクラスを作成し、OnPage() コールバック・メソッドをカスタマイズします。

    このクラスでは、%request%response、および %session オブジェクトを通常通り使用できます。

    特に、%request.Get("Error:ErrorCode") には、エラー情報が含まれています。DecomposeError() を使用して、以下のようにエラーのテキストを含む多次元配列を取得します。

     Do ..DecomposeError(%request.Get("Error:ErrorCode"),.ErrorInfo)
    

    次に、以下のように ErrorInfo 変数 (参照渡しで返される) をループ処理できます。

    For i=1:1:ErrorInfo {
         if (i=1) {
              set return="<p>"_ErrorInfo(i,"Desc")_"</p>"
         } else {
              set return=return_$CHAR(13,10)_"<p>"_ErrorInfo(i,"Desc")_"</p>"
         }
     }
    

    この例では、HTML に含まれるように文字列を構築します (エラー・メッセージごとに 1 つのパラグラフとなっています)。

    エラーから情報をプルするための追加の方法については、"%CSP.ErrorOpens in a new tab" も参照してください。

  2. オプションとして、ライセンスが付与されていないときにカスタム・ページを表示するには、このクラスのパラメータをオーバーライドしてください。

  3. このエラー・クラスを使用するよう Web アプリケーションを構成します。

ライセンスが付与される前のエラーの処理

Web アプリケーションにまだライセンスが付与されておらず、エラーが発生した場合、InterSystems IRIS は標準の Web の「HTTP/1.1 404 Page Not Found」エラー・メッセージが既定で表示されます。

エラー・ページ・クラスで以下のパラメータを指定することで、そのような場合にエラーが発生したときに表示されるページの内容を変更できます。

LICENSEERRORPAGE

このパラメータは、ライセンスが付与されないときに InterSystems IRIS が実行する処理を制御します。パラメータには以下の 2 つの値のいずれかを指定できます。

  • "" または NULL — 「HTTP/1.1 404 Page Not Found」エラーを返します (既定)。

  • 静的 HTML ファイルへのパス — /csp/myapp/static.html などの名前付きファイルを表示します。

PAGENOTFOUNDERRORPAGE

このパラメータは、以下のいずれかのエラーが発生した場合に InterSystems IRIS が実行する処理を制御します。

  • ライセンスを付与できない

  • クラスが存在しない

  • メソッドが存在しない

  • Web アプリケーションが存在しない (既定のエラー・ページでパラメータを設定)

  • CSP ページが存在しない

  • ファイルが存在しない

  • ネームスペースが存在しない

  • 不正な要求

  • ファイルを開けない

  • セッション・タイムアウト

パラメータには以下の値のいずれかを指定できます。

  • "" — 「HTTP/1.1 404 Page Not Found」エラーを返します (既定)。

  • 1 — ライセンスを取得し、標準のエラー・ページを表示します。

  • 静的 HTML ファイルへのパス — /csp/myapp/static.html などの名前付きファイルを表示します。

OTHERSTATICERRORPAGE

このパラメータは、その他のエラーが発生した場合に InterSystems IRIS が実行する処理を制御します。パラメータには以下の値のいずれかを指定できます。

  • "" — ライセンスを取得し、標準のエラー・ページを表示します (既定)。

  • 1 — 「404 Page not found」エラーを出力します。

  • 静的 HTML ファイルへのパス — /csp/myapp/static.html などの名前付きファイルを表示します。

FeedbackOpens in a new tab