Recommandé: Comprenez profondément les caractéristiques magiques du FSO dans ASP Dans ASP, FSO signifie l'objet système de fichiers, qui est un objet système de fichiers. Le système de fichiers informatiques que nous allons manipuler fait référence à la localisation sur le serveur Web. Alors, assurez-vous d'avoir les bonnes autorisations à ce sujet. Idéalement, vous pouvez utiliser votre propre machine
7.1.2 Erreurs sémantiques ou d'exécutionLa découverte et la manipulation des erreurs de syntaxe sont ennuyeuses, mais vous rencontrerez un autre type d'erreur vraiment excitant dans la programmation - erreurs sémantiques ou erreurs d'exécution. Ce type d'erreur n'est découvert que lors de l'exécution d'un code de script ou d'un autre programme. En d'autres termes, le code complet et valide a été interprété ou compilé par l'interprète ou le compilateur, et une erreur s'est produite lors de l'exécution. Le terme réussite d'erreur d'exécution fait référence au résultat d'erreurs sémantiques, c'est-à-dire que de telles erreurs existent dans la sémantique du code et deviennent visibles lorsque le code est exécuté.
Cette différence provient du fait qu'un compilateur ou un interprète de programme doit établir une description du code interne avant de gérer le code du programme, impliquant la correspondance du début et de la fin de plusieurs structures afin d'indiquer ce que contient chaque structure, puis d'analyser chaque phrase afin de savoir comment exécuter la phrase. Par exemple, s'il y a un si alors… else… fin si la structure, la première étape de l'interprète ou du compilateur est d'analyser les instructions dans la partie alors et lesquelles sont dans la partie ELSE. Le but de cette étape est de déterminer la branche à exécuter après avoir testé les conditions IF dans la structure.
La vraie différence entre un compilateur (comme celle vue dans les langages de programmation comme Visual Basic et C) et un interprète (tel que l'interprète pour les langages de script comme VBScript et JScript) est que le compilateur n'essaie pas d'exécuter du code du programme, mais après deux pré-réseaux du programme source, il forme des instructions binaires ou un code et des formes symboliques un fichier. L'interprète ne contient pas de fichier de code, mais est exécuté étape par étape au moment de l'exécution.
1. Erreur provoquant l'arrêt de la course
Si le programme contient une erreur sémantique, vous pouvez généralement obtenir une invite au moment de l'exécution. Si vous avez de la chance, le programme s'arrêtera en cas d'erreur, afin qu'il soit facile de savoir où se trouve l'erreur. Par exemple, le programme suivant définit un tableau avec six éléments.
<%
Dim Arrvalues (5) 'pour contenir six éléments, indexés de 0 à 5
Arrvalues (6) = whoops, a obtenu une erreur
%>
Si vous essayez de lire ou de définir la valeur de l'élément avec l'indice sur 6, vous pouvez obtenir une erreur d'exécution, comme le montre la figure 7-7:
Figure 7-7 Résultat d'exécution du programme 6
Notez que le type d'erreur ici est une erreur d'exécution (équivalent à la sémantique), pas une erreur de syntaxe. Le message d'erreur montre le nombre de lignes où l'erreur est située et la description de l'erreur, qui nous aide à trouver plus facilement l'erreur correspondante. Mais c'est un exemple simple, dans le code de programme plus complexe, cette erreur peut se produire dans certains programmes traversant certaines valeurs et les ajoutant à un tableau. Comme indiqué ci-dessous:
<%
Dim Arrvalues (5) 'pour contenir six éléments
Pour intloop = 0 à intlistcount 'le nombre d'éléments dans une liste
Arrvalues (intloop) = request.form (selectedItems) (intListCount)
Suivant
%>
Dans ce cas, il est probable que vous ayez obtenu trop d'entrées de liste, ou l'index du tableau est insuffisant. Selon les exigences du code, vous pouvez déterminer de quelle erreur il s'agit et vous pouvez résoudre cette erreur en augmentant la taille du tableau.
<%
Dim Arrvalues (10) 'pour contenir onze éléments
Pour intloop = 0 à intlistcount 'le nombre d'éléments dans une liste
Arrvalues (intloop) = request.form (selectedItems) (intListCount)
Suivant
%>
Ou définissez les paramètres de boucle en conséquence pour résoudre la gestion des erreurs.
<%
Dim Arrvalues (5) 'pour contenir six éléments
Intarraymax = intListCount
Si intarraymax> 5 alors intarraymax = 5
Pour intloop = 0 à Intarraymax 'n'ajout des six premiers éléments
Arrvalues (intloop) = request.form (selectedItems) (intListCount)
Suivant
%>
De nombreuses autres erreurs d'exécution peuvent empêcher les pages Web d'exécuter, comme l'instanciation de certains composants ou objets, car il y a une erreur progressive ou parce que le composant n'est pas installé correctement. Dans ces cas, le résultat donne toujours au ActiveX ne peut pas créer un message d'erreur d'objet, suivi du numéro de ligne de l'appel vers la méthode Server.CreateObject.
2. Erreur de production d'erreurs Résultats
Comme mentionné ci-dessus, nous pouvons avoir de la chance si nous rencontrons une erreur d'exécution qui entraîne l'arrêt du code du programme. Mais une autre situation est que le programme peut bien s'exécuter, comme si de rien se produisait, et produit finalement un résultat incorrect. C'est l'erreur la plus difficile à découvrir et à résoudre parce que vous n'êtes pas conscient de quelque chose de mal. Par exemple, supposons qu'il existe une page Web qui prend l'anniversaire de l'utilisateur comme valeur de date et affiche séparément les éléments de date (vous pouvez les ajouter sous forme de trois entrées à une base de données).
<%
'Obtenez la valeur de la demande et affichez-la
datbirthDate = request.form (Date de naissance)
Response.Write La valeur que vous avez saisie est: & datbirthdate & <p>
'Obtenez les éléments de date individuels
intday = jour (datbirthdate)
intmonth = mois (datbirthdate)
Intyear = Year (DatbirthDate)
'et les afficher
Response.Write Day: & CSTR (intday) & <br>
Response.Write Mois: & CSTR (intmonth) & <br>
Response.Write Year: & CSTR (Intyear) & <br>
%>
La figure 7-8 est le résultat, affiché dans le mois / jour / an de style américain, comme si tout allait bien.
Figure 7-8 L'écran montrant l'anniversaire
Cependant, si vous entrez une date illégale ou laissez la zone de texte d'entrée vide, vous obtiendrez une erreur d'exécution, comme le montre la figure 7-9:
Figure 7-9 Écran de l'invite d'erreur
(1) Sinon un expert JScript
Ce n'est pas un gros problème lorsque nous recherchons des erreurs, car nous sommes en mesure de découvrir rapidement pourquoi les erreurs se produisent. Le fait que la page Web cesse de fonctionner nous aide à suivre les erreurs. Cependant, des erreurs inattendues peuvent se produire. Par exemple, réécrivez le code du programme dans JScript, parce que je ne suis pas un expert JScript, certaines erreurs mineures apparaissent.
<%
// Obtenez la valeur de la demande et affichez-la
var datbirthDate = new Date (request.form (Birthdate));
Response.Write (la valeur que vous avez saisie est: DatBirthDate <p>);
// Obtenez les éléments de date individuels
intday = datbirthDate.getDay ();
intmonth = datbirthdate.getMonth ();
intyear = datbirthdate.getyear ();
// et les afficher
Response.Write (jour: intday.toString () <br>);
Réponse.Write (mois: intmonth.toString () &
Partager: Utilisez ASP pour mettre en œuvre la stratégie de fonctionnement complète pour les informations de piste MP3 Parlons brièvement de la balise ID3 de MP3, car elle est principalement utilisée pour faire fonctionner cette chose. Le MP3 n'était pas ce que nous avons vu aujourd'hui au début. Il y a des chanteurs, des époques, des collections, etc., et seulement quelques paramètres simples tels que oui / non pour indiquer s'il est privé ou protégé par le droit d'auteur.