Recomendado: Tutorial ASP: Aprender programas de secuencias de comandos ASP por primera vez ¿Por qué aprender el lenguaje de secuencias de comandos? ¿Cuál es la relación entre ASP y el lenguaje de secuencias de comandos? Primero, hablemos de lo que ASP es precioso. ASP es la abreviatura de Microsoft Active Server Pages, un entorno de secuencias de comandos del lado del servidor que puede usarse para crear páginas web interactivas y crear potentes
Manejo de errores ASP
ASP es tan simple que muchos desarrolladores no piensan en el manejo de errores. El manejo de errores puede hacer que su aplicación sea más razonable. He visto muchos sitios web comerciales escritos en ASP, la mayoría de los cuales ignoran el manejo de errores.
El tipo incorrecto
Hay tres tipos de error principales:
Error de compilación:
Este tipo de error ocurre generalmente debido al problema de sintaxis del código. El verbo ASP dejó de funcionar debido a un error de compilación.
Error de ejecución
Este error ocurre cuando está listo para ejecutar el ASP. Por ejemplo: si intenta asignar un valor a una variable, pero está más allá del alcance permitido por la variable.
Error lógico
Los errores lógicos son los más difíciles de detectar. Este tipo de error es a menudo un error estructural que una computadora no puede descubrir. Esto requiere que revisemos a fondo nuestro código.
Debido a que los errores de compilación generalmente ocurren junto con errores lógicos y generalmente se pueden mostrar, lo que nos preocupa es el error de operación. Todo termina el funcionamiento del ASP y deja un montón de texto muy hostil para el usuario.
Entonces, ¿cómo lidiamos con los errores de operación? ? Echemos un vistazo primero. El único comando de error que nos proporciona ASP --- en el currículum de error a continuación (me gustaría recordar a los principiantes que solo hay en el reanudación de errores en las siguientes declaraciones en ASP, pero no en el currículum de error en las declaraciones de goto)
Si no usa la declaración de reanudación de error ON, todos los errores en ejecución ocurrirán, lo cual es fatal, entonces se mostrará un código de error al usuario y el programa ASP también se detendrá.
Aquí hay un código de error:
| El siguiente es el contenido citado: Proveedor de Microsoft OLE DB para controladores ODBC Error 80004005 [Microsoft] [ODBC Manager del controlador] Nombre de fuente de datos no encontrado y no se especificó el controlador predeterminado /test.asp, línea 60 |
Cuando usamos la declaración de reanudación de error ON en la parte superior del programa, todos los errores se ignorarán y el programa ejecutará automáticamente la siguiente declaración. De esta manera, el programa se ejecutará completamente y el usuario no verá el mensaje de error después de que ocurra un error. Pero también hay desventajas de esta manera, es decir, si el programa no se ejecuta como lo imagina, será difícil para usted averiguar qué está mal, por lo que debe lidiar con los errores cuando sea necesario.
Errores de manejo
En ASP, la mejor manera de lidiar con los errores es poner el código en la parte inferior del programa para manejar los errores. También recomiendo usar búferes en cada programa ASP. De esta manera, si ocurre un error, la página se detendrá y el contenido de la página se borrará, de modo que el usuario no vea el mensaje de error y ¡habrá menos quejas sobre usted! Aquí hay un ejemplo:
| El siguiente es el contenido citado: <% 'Establezca el búfer en verdad Respuesta.Buffer = True 'Iniciar manejo de errores En el currículum de error siguiente %> <% 'Manejo de errores Si err.number <> 0 entonces 'Borre la página Respuesta. 'Mostrar mensaje de error al usuario %> <html> <Evista> <title> </title> </ablo> <Body Bgcolor =#C0C0C0> <Font face = arial> se produjo un error en la ejecución de esta página ASP <br> Informe la siguiente información en el escritorio de soporte <p> <b> Objeto de error de página </b> <br> Número de error: < %= err.number %> <br> Mensaje de error: < %= err.description %> <br> Archivo de error: < %= err.esurce %> <br> Línea de error: < %= err.line %> <br> </font> </body> </Html> <%Final si%> |
Como puede ver anteriormente, primero me puse en el currículum de error a continuación, para que un error no afecte la ejecución del programa.
Manejo de errores y base de datos
La ejecución de agregar bases de datos al manejo de errores es muy complicada. Si tenemos un programa con muchos comandos para agregar registros a la base de datos, si Insertar/Update se ejecuta en la parte inferior del programa, si nuestro error ocurre nuevamente antes, ¡entonces terminará! Agregaremos un mensaje de error a la base de datos. Debido a que usamos en el currículum de error a continuación, ¡todos los errores fueron ignorados! Incluso si hay un error antes, el programa aún agregará datos a la base de datos.
Para evitar esta situación, primero tenemos que hacer algunos trucos. La forma correcta de lidiar con él es la siguiente:
| El siguiente es el contenido citado: If err.number = 0 y objconnection.errors.count = 0 entonces 'La declaración solo se puede ejecutar aquí porque no hay errores Establecer rStresults = dbdata.execute (txtsql) Final si |
Soluciones más avanzadas
Cuando ocurre un error, también puede mostrar más mensajes de error. El siguiente es un ejemplo de manejo de errores de base de datos y página. Con él, podemos descubrir todos los errores en nuestro programa a la vez.
| El siguiente es el contenido citado: <% Si err.number <> 0 entonces Respuesta. Seleccione Case Err.Number Caso 8 'Especifique el número incorrecto 'Solucione los errores personalizados aquí Caso 'Error general If isObject (objconnection) entonces If objconnection.errors.count> 0 entonces %> <b> Objeto de conexión de base de datos </b> <% Para intloop = 0 a objconnection.errors.count - 1 %> Error no: < %= objconnection.errors (intloop) .number %> <br> Descripción: < %= objconnection.errors (intloop) .Descripción %> <br> Fuente: < %= objconnection.errors (intloop) .surce %> <br> Sqlstate: < %= objconnection.errors (intloop) .sqlstate %> <br> NationalError: < %= objconnection.errors (intloop) .nativeError %> <p> <% Siguiente Final si Final si Si err.number <> 0 entonces %> <b> Objeto de error de página </b> <br> Número de error < %= err.number %> <br> Descripción del error < %= Err.Description %> <br> Fuente < %= Err.Source %> <br> Linenumber < %= err.line %> <p> <% Final si Final seleccionar Final si %> |
¡El ejemplo anterior nos permite lidiar con muchos problemas que surgen en la base de datos, que también se usa comúnmente en nuestra programación diaria! También debemos ver esa instrucción Select Case, que nos permite manejar errores específicos.
Redirigir y manejo de errores
Una cosa a la que debemos prestar atención es el objeto de redirección que a menudo usamos. Si aparece un objeto de redirección en una página, entonces el manejo de errores perderá su significado. Entonces tenemos que lidiar con eso antes de girar, como sigue:
| El siguiente es el contenido citado: If err.number = 0 y objconnection.errors.count = 0 entonces Respuesta. Respuesta. Redirección URL aquí Final si |
Hacer que el código sea más ordenado
Para hacer que el código sea más ordenado, primero ubique el archivo manejado por error en un archivo contener. De esta manera, puede usarlo en cualquier archivo. Esto también es conveniente para modificar.
Agregue la declaración de reanudación de error en la parte superior de su programa (después de la declaración de idioma, por supuesto).
Realice la comprobación de errores antes de ejecutar SQL.
También se requirió manejo de errores antes de usar redirección.
Deje manejar los errores que contienen archivos en la parte superior del código.
Compartir: el programa ASP se da cuenta de la función de paginación de guardar los valores de los parámetros El siguiente es el contenido referenciado: <%'' '' 'Ejemplo de llamada' int_rpp, int_start, int_shownumberli