Recomendado: use ASP para desarrollar sitios web En general, los sitios web a gran escala tienen cada vez menos probabilidades de usar ASP para la arquitectura, pero ASP aún ocupa un gran alcance del mercado en pequeños y medianos sitios comerciales. ASP es favorecido por los administradores de sitios pequeños y medianos para su ciclo de desarrollo simple y simple y fácil mantenimiento. Sin embargo, que yo sepa
7.4.2 Manejo de errores de VBScript
En VBScript, el intérprete de script se puede hacer no manejar ningún error que encuentre y continúe ejecutando la siguiente declaración utilizando la declaración de reanudación de error ON. Una vez que se haya procesado esta declaración, el motor de script continuará ejecutando el programa posterior sin pagar ningún error que se haya encontrado. Sin embargo, este proceso solo se aplica a entornos donde las declaraciones se ejecutan secuencialmente y, en otras palabras, no a funciones o subrutinas anidadas.
1. Use el currículum de error en el siguiente estado de instrucción
Cuando se produce un error en una subrutina, si el currículum de error ON no se ejecuta, el error se entregará al entorno en el que se llama. Este proceso se repite hasta que se encuentra el entorno que se ejecuta en la instrucción ON Error Reano Siguiente, o se encuentra el controlador de error de script predeterminado, y el error se entrega al ASP y IIS muestra la página de error predeterminada.
Esta cadena de llamadas incorrecta significa que se pueden crear funciones y subrutinas que evitan que ejecutar errores haga que el programa deje de funcionar. Si se coloca una declaración de ENTRA EN ERROR al comienzo de la subrutina, cualquier error de tiempo de ejecución abortará la ejecución de la subrutina, pero el programa que llama a la subrutina continuará ejecutándose sin hacer que la página web se detenga.
Por ejemplo, si necesita escribir una cadena en un archivo, puede acceder al archivo a través de una función independiente para evitar que los errores interrumpan la ejecución de todo el programa:
'Cree un archivo llamado strfilename, sobrescribiendo a cualquier uno existente con ese nombre
'y escribe strContent en él y luego cierra el archivo
'Devuelve verdadero si tiene éxito, o falso en cualquier error
Function writeWfile (strfilename, strcontent)
En el error de error Siguiente 'Desactive el controlador de error predeterminado
Witenewfile = flase 'Valor de retorno predeterminado de la función
Establecer objfso = createObject (scripting.filesystemObject)
If Err.Number = 0 entonces Establezca objfile = objfso.createTextFile (strFileName, verdadero)
If err.number = 0 entonces objfile.writeline strContent
Si err.number = 0 entonces objfile.close
If Err.Number = 0 entonces WriteNewFile = True
Función final
Tenga en cuenta que el programa anterior verifica la propiedad Número del objeto ERR de VBScript antes de intentar procesar cada declaración de programa. Si este valor es 0 (aún no se ha producido ningún error), se puede continuar el proceso de presentación y creación del archivo. Sin embargo, si el error ocurre, el motor de script establecerá el valor de la propiedad del objeto ERR y continuará procesando la siguiente línea.
Siempre que pueda ejecutarse normalmente sin causar un error, el valor de retorno de la función se establecerá en True. De lo contrario, la función devolverá falso. En la programación, puede usar esta función y tomar otras acciones después de probarla.
Aquí hay un ejemplo simple, queremos usar una función separada para la primera parte de la tarea para que podamos identificar con mayor precisión dónde ocurre el error. Esto hace que sea más fácil leer el código durante la depuración. En el programa principal de la página, se pueden llamar a tres funciones separadas.
Si CreateNewFile (strFileName) entonces 'crea el nuevo archivo
Response.Rite un nuevo archivo creado con éxito <br>
Si WriteContent (strContent) entonces 'escribe el contenido
Response.Write Content escrito en Archivo <br>
Demás
Respuesta. Error de escritura: no se pudo escribir en el archivo <br>
Final si
Si CloseFile (strfilename) entonces
Response.Rite el archivo cerrado <br>
Demás
Respuesta. Error de escritura: no se pudo cerrar el archivo <br>
Final si
Demás
Respuesta. Error de escritura: no se pudo crear el nuevo archivo <br>
Funciotn final
2. Usando el error en el error 0
En ASP 2.0 (aunque sin documentación) y ASP 3.0, el comportamiento de manejo de errores predeterminado también se puede restaurar utilizando la instrucción ON ERRO GOTO 0. Después de ejecutar esta declaración, el error de tiempo de ejecución que ocurre causará el manejo de errores predeterminado, verificando cada programa anidado en la cadena de entorno hasta el código de página principal. Si no hay otro entorno para desactivar el manejo de error predeterminado, la ejecución de la página web se detendrá y mostrará la página de error predeterminada de IIS.
3. Objeto VBScript ERR
En el ejemplo anterior, cuando se desactiva el manejo de error predeterminado, verifique si el error se ha producido verificando la propiedad Número del objeto VBScript ERR. El objeto ERR almacena información sobre errores de tiempo de ejecución. Las tablas 7-3 y 7-4 dan los métodos y propiedades proporcionados por el objeto VBScript ERR.
Tabla 7-3 Métodos del objeto VBScript ERR
método
ilustrar
Claro
Borrar todas las configuraciones de objeto ERR actuales
Aumentar
Se produjo un error de tiempo de ejecución
Tabla 7-4 Propiedades del objeto VBScript ERR
propiedad
ilustrar
Descripción
Establecer o devolver una cadena que describe el error
Número
(Predeterminado) Establecer o devolver el valor de error especificado
Fuente
Establezca o devuelva el nombre del objeto que generó el error
Use estas propiedades para verificar qué error ocurre. Por ejemplo, se pueden tomar diferentes medidas en función del número de error, o la información de error se puede proporcionar al usuario con los valores de propiedad de la fuente y la descripción, o transferirse a un archivo.
También puede usar el objeto ERR para generar un error. ¿Por qué hacen estas cosas? Porque a veces quiero enviar un mensaje de error personalizado al usuario. Las propiedades del objeto ERR se pueden establecer en cualquier valor deseado. Luego llame al método de aumento para generar este error. Hacerlo detendrá el programa y volverá a pasar el error a lo largo de la cadena de llamadas.
El siguiente ejemplo muestra cómo manejar los errores al leer un archivo de texto en el disco del servidor. Tenga en cuenta cómo usar el VBOBJECTERROR constante para determinar que el número de error seleccionado no se confundirá con un número de error existente. Al agregar cualquier número de error seleccionado a esta constante, se garantiza que no se confunda con los errores predefinidos.
Functoin ReadThisFile (strFileName) 'Devuelve el contenido como una cadena
En el currículum de error siguiente
Readthisfile = 'Valor de retorno predeterminado de la función
Establecer objfso = createObject (scripting.filesystemObject)
Establecer objFile = objfso.opentextfile (strfileName, prevalecer)
Seleccione Case Err.Number
Caso 0 'Ok, no tome medidas
Caso 50, 53 'Archivo estándar o ruta no encontrados errores
'Crear valores de error personalizados y aumentar el error de nuevo en la cadena de llamadas
InterrNumber = VBOBJECTERROR 1073 'Número de error personalizado
strerrDescript
Compartir: ¿Cómo usar ASP para obtener la dirección de la IP real del cliente? Para obtener la dirección IP real del cliente a través del servidor proxy, debe usar request.servervariables (http_x_forwarded_for) para leerlo. Pero debe tenerse en cuenta que no todos los servidores proxy pueden usar request.ServerVariab