Recomendado: Comprender profundamente las características mágicas de FSO en ASP En ASP, FSO significa objeto del sistema de archivos, que es un objeto del sistema de archivos. El sistema de archivos de computadora que vamos a manipular se refiere a estar ubicado en el servidor web. Entonces, asegúrese de tener los permisos adecuados para esto. Idealmente, puede usar su propia máquina
7.1.2 Errores semánticos o de tiempo de ejecuciónEl descubrimiento y el manejo de los errores de sintaxis son molestos, pero encontrará algún otro tipo de error realmente emocionante en la programación: errores semánticos o errores de tiempo de ejecución. Este tipo de error solo se descubre al ejecutar un código de script u otro programa. En otras palabras, el intérprete o compilador ha interpretado o compilado un código completo y válido, y se produjo un error durante la ejecución. El término pase de error de tiempo de ejecución se refiere al resultado de errores semánticos, es decir, tales errores existen en la semántica del código y se vuelven visibles cuando se ejecuta el código.
Esta diferencia proviene del hecho de que un compilador de programa o intérprete debe establecer una descripción del código interno antes de manejar el código del programa, que implica la coincidencia del principio y el final de múltiples estructuras para indicar lo que cada estructura contiene, y luego analizar cada oración para saber cómo ejecutar la oración. Por ejemplo, si hay un if entonces ... más ... final de la estructura if, el primer paso del intérprete o compilador es analizar qué declaraciones están en la parte entonces y cuáles están en la parte del otro. El propósito de este paso es determinar qué rama ejecutar después de probar las condiciones IF en la estructura.
La diferencia real entre un compilador (como el visto en lenguajes de programación como Visual Basic y C) y un intérprete (como el intérprete para los lenguajes de secuencias de comandos como VBScript y JScript) es que el compilador no intenta ejecutar código de programa, sino después de dos preprocesamiento del programa fuente, forma instrucciones binarias o código simbólico y forma un archivo .xe o archivo .dll. El intérprete no contiene un archivo de código, pero se ejecuta paso a paso en tiempo de ejecución.
1. Error haciendo que la carrera se detenga
Si el programa contiene un error semántico, generalmente puede obtener un mensaje en tiempo de ejecución. Si tiene suerte, el programa se detendrá cuando ocurra un error, de modo que sea fácil averiguar dónde está el error. Por ejemplo, el siguiente programa define una matriz con seis elementos.
<%
Dim ArrValues (5) 'para mantener seis elementos, indexados de 0 a 5
ArrValues (6) = Whoops, recibió un error
%>
Si intenta leer o establecer el valor del elemento con el subíndice en 6, puede obtener un error de tiempo de ejecución, como se muestra en la Figura 7-7:
Figura 7-7 Resultado de ejecución del programa 6
Tenga en cuenta que el tipo de error aquí es un error de tiempo de ejecución (equivalente a la semántica), no un error de sintaxis. El mensaje de error muestra el número de filas donde se encuentra el error y la descripción del error, lo que nos ayuda a encontrar el error correspondiente más fácilmente. Pero este es un ejemplo simple, en un código de programa más complejo, este error puede ocurrir en algunos programas que atraviesan algunos valores y los agregan a una matriz. Como se muestra a continuación:
<%
Dim ArrValues (5) 'para mantener seis elementos
Para intloop = 0 a intlistcount 'el número de elementos en alguna lista
ArrValues (intloop) = request.form (selectedItems) (intlistCount)
Próximo
%>
En este caso, es probable que haya obtenido demasiadas entradas de lista, o el índice de la matriz sea insuficiente. De acuerdo con los requisitos del código, puede determinar qué error es, y puede resolver este error aumentando el tamaño de la matriz.
<%
Dim ArrValues (10) 'para sostener once elementos
Para intloop = 0 a intlistCount 'el número de elementos int algunas lista
ArrValues (intloop) = request.form (selectedItems) (intlistCount)
Próximo
%>
O establezca los parámetros de bucle en consecuencia para resolver el manejo de errores.
<%
Dim ArrValues (5) 'para mantener seis elementos
Intarraymax = intlistCount
Si Intarraymax> 5 entonces intarraymax = 5
Para intloop = 0 a Intarraymax 'solo agregue los primeros seis elementos
ArrValues (intloop) = request.form (selectedItems) (intlistCount)
Próximo
%>
Muchos otros errores de tiempo de ejecución pueden evitar que las páginas web se ejecuten, como la instanciación de algunos componentes u objetos, porque hay un error Progid o porque el componente no está instalado correctamente. En estos casos, el resultado siempre da que ActiveX no pueda crear un mensaje de error de objeto, seguido del número de línea de la llamada al método Server.CreateObject.
2. Error a producir resultados de error
Como se mencionó anteriormente, podemos tener suerte si encontramos un error de tiempo de ejecución que hace que el código del programa se detenga. Pero otra situación es que el programa puede ejecutarse bien, como si nada hubiera pasado, y finalmente produce un resultado incorrecto. Este es el error más difícil de descubrir y resolver porque no conoce algo mal. Por ejemplo, suponga que hay una página web que toma el cumpleaños del usuario como un valor de fecha y muestra los elementos de fecha por separado (puede agregarlos como tres entradas a una base de datos).
<%
'Obtenga el valor de la solicitud y muestrelo
datBirthDate = request.form (Birthdate)
Respuesta.WRITE El valor que ingresó es: & DatBirthDate & <p>
'Obtenga los elementos de fecha individuales
INTDAY = DAY (DATBIRTHDATE)
intmonth = mes (datbirthdate)
intyear = año (datbirthdate)
'Y mostrarlos
Respuesta. Día de Write: & Cstr (Intday) & <br>
Response.WRITE MES: & CSTR (Intmonth) & <br>
Respuesta.
%>
La Figura 7-8 es el resultado, que se muestra en el estilo de estilo estadounidense mes/día/año, como si todo estuviera bien.
Figura 7-8 La pantalla que muestra cumpleaños
Sin embargo, si ingresa una fecha ilegal o deja el cuadro de texto de entrada vacío, obtendrá un error de tiempo de ejecución, como se muestra en la Figura 7-9:
Figura 7-9 Pantalla de solicitud de error
(1) Si no es un experto en JScript
Este no es un gran problema al buscar errores, porque podemos descubrir rápidamente por qué ocurren los errores. El hecho de que la página web deje de funcionar nos ayuda a rastrear errores. Sin embargo, pueden ocurrir errores inesperados. Por ejemplo, reescribir el código del programa en JScript, porque no soy un experto en JScript, aparecen algunos errores menores.
<%
// Obtener el valor de la solicitud y mostrarlo
var datBirthDate = new Date (request.form (birthdate));
Response.write (el valor que ingresó es: DatBirthDate <p>);
// Obtener los elementos de fecha individuales
intday = datbirthdate.getday ();
intmonth = datBirthDate.getMonth ();
intyear = datBirthDate.getYear ();
// y mostrarlos
Response.Write (Día: Intday.ToString () <br>);
Response.write (mes: intmonth.ToString () y
Compartir: use ASP para implementar la estrategia de operación completa para la información de seguimiento de MP3 Hablemos brevemente sobre la etiqueta ID3 de MP3, porque se usa principalmente para operar esto. MP3 no era lo que vimos hoy al principio. Hay cantantes, épocas, colecciones, etc. Información y solo algunos parámetros simples como sí/no para indicar si es privado o con derechos de autor.