カスタム ASP エラー ページの作成

文書翻訳 文書翻訳
文書番号: 224070 - 対象製品
この記事は、以前は次の ID で公開されていました: JP224070
すべて展開する | すべて折りたたむ

概要

Microsoft Internet Information Services (IIS) Version 5.0 では、カスタムの Active Server Pages (ASP) エラー ページを作成する機能が導入されています。これを行うために、組み込みの ASP Server オブジェクトに対する新しいメソッド Server.GetLastError() と、このメソッドによって返される新しいオブジェクト ASPError が追加されています。

詳細

ASP ページのコンパイルまたは実行中にエラーが発生すると、IIS は 500;100 エラーを生成し、Server.Transfer() メソッドを実行して現在定義されているカスタム エラー ページに制御を渡します (デフォルトで定義されているページは /iishelp/common/500-100.asp です)。Server.Transfer() メソッドの詳細については、「サポート技術情報」 (Microsoft Knowledge Base) の次の資料を参照してください。
219294 How to Use the Server.Transfer Method
カスタム エラー ページに制御が移行すると、Server.GetLastError() メソッドを使用して発生したエラーに関する詳細な情報を入手することができます。Server.GetLastError() メソッドは、以下の表に示すようなプロパティを持つ ASPError オブジェクトを返します (この表は、IIS 5.0 のオンライン マニュアルにも記載されています)。
元に戻す全体を表示する
ASPCode IIS で生成されたエラー コードを返します。
Number 標準の COM エラー コードを返します。
Source エラーが、ASP の内部、スクリプト言語、オブジェクトのどこで発生したかを示します。
File エラーが発生したときに処理していた .asp ファイルの名前を示します。
Line エラーを生成した .asp ファイル内の行を示します。
Description エラーの簡単な説明を返します。
ASPDescription ASP 関連のエラーである場合は、エラーの詳細な説明を返します。
以下にカスタム ASP エラー ページを設定するための手順を説明します。
  1. 次の ASP コードを Scripts フォルダの中に "My500.asp" (引用符を除く) という名前で保存します。
    <%@Language="VBSCRIPT"%>
    <%
    Option Explicit
      On Error Resume Next
      Response.Clear
      Dim objError
      Set objError = Server.GetLastError()
    %>
    <html>
    <head>
    <title>ASP 500 Error</title>
    <style>
    BODY  { FONT-FAMILY: Arial; FONT-SIZE: 10pt;
            BACKGROUND: #ffffff; COLOR: #000000;
            MARGIN: 15px; }
    H2    { FONT-SIZE: 16pt; COLOR: #ff0000; }
    TABLE { BACKGROUND: #000000; PADDING: 5px; }
    TH    { BACKGROUND: #0000ff; COLOR: #ffffff; }
    TR    { BACKGROUND: #cccccc; COLOR: #000000; }
    </style>
    </head>
    <body>
    
    <h2 align="center">ASP 500 Error</h2>
    
    <p align="center">An error occurred processing the page you requested.<br>
    Please see the details below for more information.</p>
    
    <div align="center"><center>
    
    <table>
    <% If Len(CStr(objError.ASPCode)) > 0 Then %>
      <tr>
        <th nowrap align="left" valign="top">IIS Error Number</th>
        <td align="left" valign="top"><%=objError.ASPCode%></td>
      </tr>
    <% End If %>
    <% If Len(CStr(objError.Number)) > 0 Then %>
      <tr>
        <th nowrap align="left" valign="top">COM Error Number</th>
        <td align="left" valign="top"><%=objError.Number%>
        <%=" (0x" & Hex(objError.Number) & ")"%></td>
      </tr>
    <% End If %>
    <% If Len(CStr(objError.Source)) > 0 Then %>
      <tr>
        <th nowrap align="left" valign="top">Error Source</th>
        <td align="left" valign="top"><%=objError.Source%></td>
      </tr>
    <% End If %>
    <% If Len(CStr(objError.File)) > 0 Then %>
      <tr>
        <th nowrap align="left" valign="top">File Name</th>
        <td align="left" valign="top"><%=objError.File%></td>
      </tr>
    <% End If %>
    <% If Len(CStr(objError.Line)) > 0 Then %>
      <tr>
        <th nowrap align="left" valign="top">Line Number</th>
        <td align="left" valign="top"><%=objError.Line%></td>
      </tr>
    <% End If %>
    <% If Len(CStr(objError.Description)) > 0 Then %>
      <tr>
        <th nowrap align="left" valign="top">Brief Description</th>
        <td align="left" valign="top"><%=objError.Description%></td>
      </tr>
    <% End If %>
    <% If Len(CStr(objError.ASPDescription)) > 0 Then %>
      <tr>
        <th nowrap align="left" valign="top">Full Description</th>
        <td align="left" valign="top"><%=objError.ASPDescription%></td>
      </tr>
    <% End If %>
    </table>
    
    </center></div>
    
    </body>
    </html>
    
  2. カスタム ASP エラー ページを設定します。

      • MMC でインターネット サービス マネージャを開きます。
      • [既定の Web サイト] を展開します。
      • Scripts フォルダを右クリックし、[プロパティ] をクリックします。
      • [カスタム エラー] タブをクリックします。
      • スクロールして "500;100" HTTP エラーを反転し、[プロパティの編集] をクリックします。
      • [メッセージの種類] が [URL] に設定されていることを確認します。
      • [URL] を "/scripts/my500.asp" (引用符を除く) に変更します。
      • [OK] を何度かクリックして MMC に戻ります。







  3. 新しいエラー ページをテストします。

      • 以下のページをすべて Scripts フォルダに保存します。

          • 次のページを "Badpage1.asp" (引用符を除く) という名前で保存します。
            <%@Language="VBSCRIPT"%>
            <html>
            <head>
            <title>Bad Page 1</title>
            </head>
            <body>
            <% Response.Write 1/0 %>
            </body>
            </html>
            
          • 次のページを "Badpage2.asp" (引用符を除く) という名前で保存します。
            <%@Language="VBSCRIPT"%>
            <html>
            <head>
            <title>Bad Page 2</title>
            </head>
            <body>
            <% Response.BadMethod "Hello" %>
            </body>
            </html>
            
          • 次のページを "Badpage3.asp" (引用符を除く) という名前で保存します。
            <%@Language="VBSCRIPT"%>
            <html>
            <head>
            <title>Bad Page 3</title>
            </head>
            <body>
            <%
              Dim objBad
              Set objBad = Server.CreateObject("BAD.OBJECT.CLASS")
            %>
            </body>
            </html>
            

      • 上記の各ページを参照すると、ブラウザにカスタム エラー ページが返されるはずです。

: Internet Explorer 5.0 以降を使用してカスタム ASP エラー ページを表示すると、予期されない結果が返される場合があります。IE5 では、HTTP 500 (およびその他いくつかの共通ステータス コード) 用の HTML テンプレートを標準化された一般的なメッセージに置き換える機能が導入されています。この機能をバイパスし、ブラウザに返されたステータス コードの正確なテキストを表示するには、Internet Explorer を開き、次のメニューを選択します。
[ツール] - [インターネット オプション] - [詳細設定]

次のチェック ボックスをオフにします。
[HTTP エラー メッセージを簡易表示する]

この機能の詳細については、次の資料を参照してください。
218155 Description of Hypertext Transport Protocol Error Messages

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 224070 (最終更新日 2000-10-20) をもとに作成したものです。

プロパティ

文書番号: 224070 - 最終更新日: 2001年4月26日 - リビジョン: 1.0
この資料は以下の製品について記述したものです。
  • Microsoft Internet Information Services 5.0
キーワード:?
kbasp kbaspobj kbcodesnippet kbgrpasp kbiis500 kbinfo KB224070
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"
サポート期間が終了した「サポート技術情報」資料に関する免責事項
この資料は、マイクロソフトでサポートされていない製品について記述したものです。そのため、この資料は現状ベースで提供されており、今後更新されることはありません。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com