Criar páginas de erro ASP personalizadas

Traduções de Artigos Traduções de Artigos
Artigo: 224070 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sumário

ISS (Serviços de informação Internet Information Services) versão 5.0 introduz a capacidade de criar páginas de erro de ASP (Active Server Pages) personalizadas através da adição de um novo método para o objecto de servidor de ASP incorporado chamado Server.GetLastError() que devolve um novo objecto ASPError .

Mais Informação

Quando ocorre um erro durante a compilar ou executa uma página ASP, o IIS gera um erro 500; 100 e executa um método Server.Transfer() para passar o controlo para a página de erro personalizadas actualmente definidas. (Por predefiniçã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 utilizar o método Server.Transfer
Quando controlo é passado para a página de erro personalizada, o método de Server.GetLastError() pode ser utilizado para obter informações detalhadas sobre o erro ocorreu. O método Server.GetLastError() devolve um objecto ASPError que tenha as propriedades listadas na seguinte tabela. (Nesta tabela pode também encontrar na documentação online do IIS 5.0).
Reduzir esta tabelaExpandir esta tabela
PropriedadeDescrição
ASPCodeDevolve um código de erro gerado pelo IIS.
NúmeroDevolve o código de erro COM padrão.
OrigemIndica se a origem do erro foi interna para ASP, a linguagem de script ou um objecto.
FicheiroIndica o nome do ficheiro .asp que estava a ser processado quando ocorreu o erro.
LinhaIndica a linha do ficheiro .asp que gerou o erro.
DescriçãoDevolve uma breve descrição do erro.
ASPDescriptionDevolve uma descrição mais detalhada do erro se for um erro relacionado com ASP.
Os passos listados abaixo serão escolhida como configurar uma página de erro ASP personalizada.
  1. Guarde o seguinte código ASP na pasta 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 Gestor de serviços Internet no MMC.
    2. Expanda o Web Site predefinido.
    3. Clique com o botão direito do rato na pasta scripts e seleccione Propriedades .
    4. Clique no separador Erros personalizados .
    5. Desloque-se para baixo e realce o erro HTTP 500; 100 e clique em Editar propriedades .
    6. Certifique-se de que Tipo de mensagem está definido para URL .
    7. Alterar o URL "/ scripts/my500.asp" (sem as aspas).
    8. Clique em OK até regressar à MMC.
  3. Teste a nova página de erro:

    1. Guarde todas as páginas seguintes na pasta scripts:

      • Guarde a página seguinte como "Badpage1.asp" (sem as aspas):
        <%@Language="VBSCRIPT"%>
        <html>
        <head>
        <title>Bad Page 1</title>
        </head>
        <body>
        <% Response.Write 1/0 %>
        </body>
        </html>
        										
      • Guardar a página seguinte como Badpage2.asp"(sem as aspas):
        <%@Language="VBSCRIPT"%>
        <html>
        <head>
        <title>Bad Page 2</title>
        </head>
        <body>
        <% Response.BadMethod "Hello" %>
        </body>
        </html>
        										
      • Guarde 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 procurar as páginas acima, deverá ver agora a página de erro personalizadas retornada ao navegador.
NOTA: Quando utilizar páginas de erro ASP do Internet Explorer 5.0 e posterior para visualizar personalizada, podem ser devolvidos resultados inesperados. IE5 introduzida uma funcionalidade para substituir o modelo HTML para HTTP 500 e vários outros normalmente devolvido códigos de estado, com padrão, não específicas de mensagens. Para ignorar esta funcionalidade e mostrar o texto exacto do código de estado devolvido ao browser, abra o Internet Explorer e navegue para:
Tools | Internet Options | Advanced
					

em seguida, desmarque a caixa de verificação com o nome
Show friendly HTTP error messages
					

Estão disponíveis informações adicionais sobre esta funcionalidade no
218155Descrição das mensagens de erro Hypertext Transport Protocol

Propriedades

Artigo: 224070 - Última revisão: 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 224070
Exclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.

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