Crear páginas de error ASP personalizados

Seleccione idioma Seleccione idioma
Id. de artículo: 224070 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Resumen

Versión de servicios de Internet Information Server (IIS) 5.0 introduce la posibilidad de crear páginas de error de Active Server (ASP) personalizadas mediante la adición de un método nuevo para el objeto integrado de ASP denomina Server.GetLastError() que devuelve un nuevo objeto ASPError .

Más información

Cuando se produce un error al compilar o ejecutar una página ASP, IIS genera un error 500; 100 y ejecuta un método Server.Transfer() para pasar el control a la página de error personalizada definida actualmente. (De forma predeterminada esta página es /iishelp/common/500-100.asp.) Para obtener más información sobre el método Server.Transfer(), vea el artículo siguiente en Microsoft Knowledge Base:
219294Cómo utilizar el método Server.Transfer
Cuando control se pasa a la página de error personalizado, el método Server.GetLastError() puede utilizarse para obtener información detallada sobre el error producido. El método Server.GetLastError() devuelve un objeto ASPError que tiene las propiedades enumeradas en la tabla siguiente. (Esta tabla también se encuentran en la documentación en pantalla de IIS 5.0.)
Contraer esta tablaAmpliar esta tabla
PropiedadDescripción
ASPCodeDevuelve un código de error generado por IIS.
NúmeroDevuelve el código de error COM estándar.
OrigenIndica si el origen del error era interno de ASP, el lenguaje de secuencias de comandos o un objeto.
ArchivoIndica el nombre del archivo .ASP que se estaba procesando cuando se produjo el error.
LíneaIndica la línea del archivo .ASP que generó el error.
DescripciónDevuelve una breve descripción del error.
ASPDescriptionDevuelve una descripción más detallada del error, si es un error relacionado con ASP.
Los siguientes pasos le guiará para configurar una página de error personalizada de ASP.
  1. Guarde el siguiente código ASP en la carpeta scripts como "My500.asp" (sin las comillas):
    <%@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. Establecer la página de error ASP personalizada:

    1. Abra el Administrador de servicios de Internet en MMC.
    2. Expanda el sitio de Web predeterminado.
    3. Haga clic con el botón secundario en la carpeta scripts y seleccione Propiedades .
    4. Haga clic en la ficha Errores personalizados .
    5. Desplácese hacia abajo y resaltar el error HTTP 500; 100 y haga clic en Editar propiedades .
    6. Asegúrese de que Tipo de mensaje está establecida a dirección URL .
    7. Cambiar la dirección URL a "/ scripts/my500.asp" (sin las comillas).
    8. Haga clic en Aceptar hasta regresar a MMC.
  3. Probar la nueva página de error:

    1. Guardar todas las páginas siguientes de la carpeta scripts:

      • Guarde la siguiente página como "Badpage1.asp" (sin las comillas):
        <%@Language="VBSCRIPT"%>
        <html>
        <head>
        <title>Bad Page 1</title>
        </head>
        <body>
        <% Response.Write 1/0 %>
        </body>
        </html>
        										
      • Guardar la siguiente página como Badpage2.asp"(sin las comillas):
        <%@Language="VBSCRIPT"%>
        <html>
        <head>
        <title>Bad Page 2</title>
        </head>
        <body>
        <% Response.BadMethod "Hello" %>
        </body>
        </html>
        										
      • Guarde la siguiente página como "Badpage3.asp" (sin las comillas):
        <%@Language="VBSCRIPT"%>
        <html>
        <head>
        <title>Bad Page 3</title>
        </head>
        <body>
        <%
          Dim objBad
          Set objBad = Server.CreateObject("BAD.OBJECT.CLASS")
        %>
        </body>
        </html>
        										
    2. Cuando explora cualquiera de las páginas anteriores, ahora verá la página de error personalizados devuelta en el explorador.
Nota: Al utilizar páginas de error ASP de Internet Explorer 5.0 y posterior para ver personalizada, podrían devolverse resultados inesperados. IE5 introdujo una característica para reemplazar la plantilla HTML para HTTP 500 y otros varios normalmente devuelve códigos de estado, con mensajes estándar, no específico. Para omitir esta característica y mostrar el texto exacto del código de estado devuelto al explorador, abra Internet Explorer y vaya a:
Tools | Internet Options | Advanced
					

a continuación, desactive la casilla de verificación etiquetada
Show friendly HTTP error messages
					

Información adicional sobre esta característica está disponible en
218155Descripción de los mensajes de error del Protocolo de transporte de hipertexto

Propiedades

Id. de artículo: 224070 - Última revisión: martes, 21 de noviembre de 2006 - Versión: 1.2
La información de este artículo se refiere a:
  • Microsoft Internet Information Services 5.0
Palabras clave: 
kbmt kbaspobj kbcodesnippet kbinfo KB224070 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 224070
Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Enviar comentarios

 

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