Saltar al contenido

ASP clásico: errores de captura

Nuestro team de expertos despúes de días de trabajo y de juntar de datos, obtuvimos la solución, nuestro deseo es que resulte útil para ti para tu trabajo.

Solución:

Sí, cree una página ASP que registrará los detalles del error en la base de datos y configure esta como la página del controlador 500 en IIS, como se muestra a continuación.

Utilice el objeto Server.GetLastError para obtener los detalles del error en la secuencia de comandos de su controlador.

Puede ser una buena idea iniciar sesión en un archivo de texto en lugar de una base de datos en su controlador 500 para mayor resistencia.

Establecer controlador 500 personalizado en IIS

Complementando la respuesta de Jon, use este script para escribir errores en un archivo de registro:

<%
'Set this page up in IIS to receive HTTP 500 errors
''Type' needs to be 'URL' and the URL is e.g.: '/500Error.asp' if this file is named '500Error.asp' and is in the site root directory.
'This script assumes there is a "/Log" folder, and that IIS has write access to it.
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0

Dim objFSO, err
Set objFSO=CreateObject("Scripting.FileSystemObject")

Set err = Server.GetLastError()

outFile=Server.MapPath("/Log/ErrorLog.txt")
Set objFile = objFSO.OpenTextFile(outFile, ForAppending, True, TristateTrue)

objFile.WriteLine Now & " - ERROR - ASPCode:" & err.ASPCode & " ASPDescription: " & err.ASPDescription & " Category: " & err.Category & " Description: " & err.Description & " File: " & err.File & " Line: " & err.Line & " Source: " & err.Source  & vbCrLf
objFile.Close

Set objFile = Nothing
Set err = Nothing

%>

El manejo de errores en ASP clásico es un dolor total. Puede detectar el error donde cree que va a ocurrir usando on error resume nextluego verifique el código de error en la siguiente línea de código.

Alternativamente, puede escanear los registros del servidor en busca de 500 errores. o configure una página de “500 errores” en su configuración de IIS.

On Error Resume Next
... do something...
If Err.Number <> 0 Then
... handle error
end if

Te mostramos comentarios y puntuaciones

Si eres capaz, eres capaz de dejar un post acerca de qué te ha impresionado de este escrito.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *