Err.Raise() ASP clásico

Escrito por Programador ASP clásico en Código ASP clásico


Err.Raise() es útil para el manejo de errores en tiempo de ejecución de una aplicación desarrollada en ASP clásico. Veremos la captura de errores con Err.Number> 0, limpiar el objeto Err con Err.Clear () y personalizar tus propios errores con Err.Raise ().

VBScript también permite personalizar los errores utilizando el método Err.Raise() de la siguiente forma:

Call Err.Raise(number, source, description)

en el cual:

"number" es un número entero en el rango de 0 y 65535 para especificar una condición de error específica, pero valores bajos ya son utilizados por VBScript para denotar erroes predefinidos. Por lo tanto, deberías usar valores altos como 60000 o más.

"source" es un texto para identificar donde ocurrió el error

"description" es un texto para describir la condición del error

A continuación un ejemplo de como utilizar Err.Raise()

<html>

<body>

<%

On Error Resume Next

response.write("Validar ""1999-12-31""...")

Call ValidateIsoDate("1999-12-31")

Call CheckError()

'===

response.write("Validar ""Year-12-31""...")

Call ValidateIsoDate("Year-12-31")

Call CheckError()

'===

response.write("Validar ""2006-15-31""...")

Call ValidateIsoDate("2006-15-31")

Call CheckError()

'===

response.write("Validar ""1999/12/31""...")

Call ValidateIsoDate("1999/12/31")

Call CheckError()

' Validar cadena de fecha en formato ISO: yyyy-mm-dd

'===

Sub ValidateIsoDate(sString)

If Len(sString) <> 10 Then

Call Err.Raise(60001, "Verificar", "La longitud debe ser 10")

Exit Sub

End If

sYear = Mid(sString, 1, 4) If Not IsNumeric(sYear) Then

Call Err.Raise(60002, "Verificar", "Año debe ser numérico")

Exit Sub

End If

sDash = Mid(sString, 5, 1) If sDash <> "-" Then

Call Err.Raise(60003, "Verificar", "Falta primer guión")

Exit Sub

End If

sMonth = Mid(sString, 6, 2)

If Not IsNumeric(sMonth) Then

Call Err.Raise(60004, "Verificar", "Año debe ser numérico")

Exit Sub

End If

If CInt(sMonth) < 1 or CInt(sMonth) > 12 Then

Call Err.Raise(60005, "Verificar", "Mes inválido")

Exit Sub

End If

sDash = Mid(sString, 8, 1)

If sDash <> "-" Then

Call Err.Raise(60006, "Verificar", "Falta segundo guión")

Exit Sub

End If

sDate = Mid(sString, 9, 2) If Not IsNumeric(sDate) Then

Call Err.Raise(60007, "Verificar", "Fecha debe ser numérico")

Exit Sub

End If

If CInt(sDate) < 1 or CInt(sDate) > 31 Then

Call Err.Raise(60008, "Verificar", "Fecha inválida")

Exit Sub

End If

End

'===

Sub Sub CheckError()

If Err.Number > 0 Then

response.write("Ocurrio un error:")

response.write(" Err.Number = " & Err.Number)

response.write(" Err.Description = " & Err.Description)

response.write(" Err.Source = " & Err.Source)

Else

response.write("No hay error.")

End If

End Sub

%>

</body>

</html>

Publicado el 05/05/2015 a las 12:07:03 hrs. | 550 visitas.

Subir
Web hosting by Somee.com