Criando páginas de erro do ASP personalizadas

Traduções deste artigo Traduções deste artigo
ID do artigo: 224070 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Sumário

Microsoft Internet Information Services (IIS) versão 5.0 introduz a capacidade de criar páginas de erro personalizadas do Active Server Pages (ASP) por meio da adição de um novo método para o objeto interno do servidor ASP chamado Server.GetLastError() que retorna um novo objeto ASPError .

Mais Informações

Quando ocorre um erro enquanto você compila ou executa uma página ASP, o IIS gera um erro 500; 100 e executa um método Server.Transfer() passar controle para a página de erro personalizadas definidas atualmente. (Por padrão nesta página é /iishelp/common/500-100.asp.) Para obter mais informações sobre o método Server.Transfer(), consulte o seguinte artigo na Base de dados de Conhecimento da Microsoft:
219294Como usar o método Server.Transfer
Quando controle é passado para a página de erro personalizada, o método Server.GetLastError() pode ser usado para obter informações detalhadas sobre o erro que ocorreu. O método Server.GetLastError() retorna um objeto ASPError que tem as propriedades listadas na tabela a seguir. (Esta tabela também pode ser encontrada na documentação on-line do IIS 5.0.)
Recolher esta tabelaExpandir esta tabela
PropriedadeDescrição
ASPCodeRetorna um código de erro gerado pelo IIS.
NúmeroRetorna o código de erro COM padrão.
FonteIndica se a origem do erro interna de ASP, a linguagem de script ou um objeto.
ArquivoIndica o nome do arquivo .asp que estava sendo processado quando ocorreu o erro.
LinhaIndica a linha no arquivo .asp que gerou o erro.
DescriçãoRetorna uma descrição curta do erro.
ASPDescriptionRetorna uma descrição mais detalhada do erro se ele é um erro relacionados ao ASP.
As etapas listadas abaixo o orientará na configuração de uma página de erro ASP personalizada.
  1. Salve o seguinte código ASP na sua pasta de scripts como "My500.asp" (sem as aspas):
    <%@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. Defina a página de erro ASP personalizada:

    1. Abra o o Gerenciador de serviços Internet no MMC.
    2. Expanda o site padrão.
    3. Clique com o botão direito do mouse na pasta scripts e selecione Propriedades .
    4. Clique na guia Erros personalizados .
    5. Role para baixo e realçar o erro HTTP 500; 100 e clique em Editar propriedades .
    6. Verifique se o Tipo de mensagem é definido como URL .
    7. Alterar a URL para "/ scripts/my500.asp" (sem as aspas).
    8. Clique em OK até retornar ao MMC.
  3. Teste a nova página de erro:

    1. Salvar todas as seguintes páginas em sua pasta de scripts:

      • Salve a página a seguir como "Badpage1.asp" (sem as aspas):
        <%@Language="VBSCRIPT"%>
        <html>
        <head>
        <title>Bad Page 1</title>
        </head>
        <body>
        <% Response.Write 1/0 %>
        </body>
        </html>
        										
      • Salvar a página a seguir como Badpage2.asp"(sem as aspas):
        <%@Language="VBSCRIPT"%>
        <html>
        <head>
        <title>Bad Page 2</title>
        </head>
        <body>
        <% Response.BadMethod "Hello" %>
        </body>
        </html>
        										
      • Salve a página seguinte como "Badpage3.asp" (sem as aspas):
        <%@Language="VBSCRIPT"%>
        <html>
        <head>
        <title>Bad Page 3</title>
        </head>
        <body>
        <%
          Dim objBad
          Set objBad = Server.CreateObject("BAD.OBJECT.CLASS")
        %>
        </body>
        </html>
        										
    2. Quando você procura qualquer uma das páginas acima, agora você deve ver a página de erro personalizadas retornada ao navegador.
Observação: Ao usar páginas de erro do Internet Explorer 5.0 e posterior para exibir personalizadas ASP, resultados inesperados podem ser retornados. IE5 introduziu um recurso para substituir o modelo HTML para HTTP 500, e vários outros normalmente retornados códigos de status, com mensagens padronizadas, não-específica. Para ignorar esse recurso e mostrar o texto exato do código de status retornado ao navegador, abra o Internet Explorer e navegue até:
Tools | Internet Options | Advanced
					

em seguida, desmarque a caixa de seleção
Show friendly HTTP error messages
					

Informações adicionais sobre esse recurso estão disponíveis no
218155Descrição de mensagens de erro Hypertext Transport Protocol

Propriedades

ID do artigo: 224070 - Última revisão: terça-feira, 21 de novembro de 2006 - Revisão: 1.2
A informação contida neste artigo aplica-se a:
  • Microsoft Internet Information Services 5.0
Palavras-chave: 
kbmt kbaspobj kbcodesnippet kbinfo KB224070 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 224070
Aviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.

Submeter comentários

 

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