Recommandé: Tutoriel ASP: Apprentissage des programmes de script ASP pour la première fois Pourquoi apprendre le langage des scripts? Quelle est la relation entre l'ASP et le langage de script? Tout d'abord, parlons de ce que ASP est précieux. ASP est l'abréviation des pages de serveurs Microsoft Active, un environnement de script côté serveur qui peut être utilisé pour créer des pages Web interactives et créer
Gestion des erreurs ASP
L'ASP est si simple que de nombreux développeurs ne pensent pas à la gestion des erreurs. La gestion des erreurs peut rendre votre application plus raisonnable. J'ai vu de nombreux sites Web commerciaux écrits dans ASP, dont la plupart ignorent la gestion des erreurs.
Le mauvais type
Il existe trois principaux types d'erreur:
Erreur de compilation:
Ce type d'erreur se produit généralement en raison du problème de syntaxe du code. Le verbe Asp a cessé de fonctionner en raison d'une erreur de compilation.
Erreur d'exécution
Cette erreur se produit lorsque vous êtes prêt à exécuter l'ASP. Par exemple: si vous essayez d'attribuer une valeur à une variable, mais il est au-delà de la portée autorisée par la variable.
Erreur logique
Les erreurs logiques sont les plus difficiles à détecter. Ce type d'erreur est souvent une erreur structurelle qui ne peut pas être découverte par un ordinateur. Cela nous oblige à vérifier soigneusement notre code.
Étant donné que les erreurs de compilation se produisent généralement avec des erreurs logiques et peuvent généralement être affichées, ce qui nous inquiète est l'erreur de fonctionnement. Tout termine le fonctionnement de l'ASP et laisse un tas de texte très hostile pour l'utilisateur.
Alors, comment gérons-nous les erreurs de fonctionnement! ? Jetons un coup d'œil en premier. La seule commande d'erreur qui nous est fournie par ASP --- sur l'erreur Reprend ensuite (je voudrais rappeler aux débutants qu'il n'y a que sur des instructions d'erreur de reprendre les prochaines instructions dans ASP, mais non sur les instructions GOTO de reprendre l'erreur)
Si vous n'utilisez pas l'instruction ON ERROR REPUM SUIVANT, toutes les erreurs d'exécution se produiront, ce qui est fatal, alors un code d'erreur sera affiché à l'utilisateur et le programme ASP s'arrêtera également.
Voici un code d'erreur:
| Ce qui suit est le contenu cité: Proviseur Microsoft Ole DB pour l'erreur des pilotes ODBC 80004005 [Microsoft] [ODBC Driver Manager] Nom de la source de données introuvable et aucun pilote par défaut spécifié /test.asp, ligne 60 |
Lorsque nous utilisons l'instruction ON ERROR RESPUMEZ NEXT en haut du programme, toutes les erreurs seront ignorées et le programme exécutera automatiquement l'instruction suivante. De cette façon, le programme sera entièrement exécuté et l'utilisateur ne verra pas le message d'erreur après une erreur. Mais il y a aussi des inconvénients de cette manière, c'est-à-dire que si le programme ne s'exécute pas comme vous l'imaginez, il vous sera difficile de savoir ce qui ne va pas, vous devez donc faire face aux erreurs si nécessaire.
Gestion des erreurs
Dans ASP, la meilleure façon de gérer les erreurs est de mettre du code au bas du programme pour gérer les erreurs. Je recommande également d'utiliser des tampons dans chaque programme ASP. De cette façon, si une erreur se produit, la page s'arrête et le contenu de la page sera effacé, afin que l'utilisateur ne verra pas le message d'erreur et qu'il y aura moins de plaintes à votre sujet! Voici un exemple:
| Ce qui suit est le contenu cité: <% 'Réglez le tampon sur True Réponse.buffer = true 'Démarrer la gestion des erreurs Sur l'erreur reprendre ensuite %> <% 'Gestion des erreurs Si err.number <> 0 alors 'Effacer la page Réponse. 'Afficher le message d'erreur à l'utilisateur %> <html> <adal> <Title> </Title> </ Head> <Corps bgcolor = # c0c0c0> <FONT FACE = Arial> Une erreur s'est produite dans l'exécution de cette page ASP <br> Veuillez signaler les informations suivantes au bureau d'assistance <p> <b> Objet d'erreur de page </b> <br> Numéro d'erreur: <% = err.number%> <br> Message d'erreur: <% = err.description%> <br> Fichier d'erreur: <% = err.source%> <br> Ligne d'erreur: <% = err.line%> <br> </font> </docy> </html> <% Fin si%> |
Comme vous pouvez le voir ci-dessus, j'ai d'abord défini sur l'erreur de CV, afin qu'une erreur n'affecte pas l'exécution du programme.
Gestion des erreurs et base de données
L'exécution de l'ajout de bases de données à la gestion des erreurs est très compliquée. Si nous avons un programme avec de nombreuses commandes pour ajouter des enregistrements à la base de données, si l'insert / mise à jour est exécuté en bas du programme, si notre erreur se produit avant, alors ce sera terminé! Nous ajouterons un message d'erreur à la base de données. Parce que nous avons utilisé sur les erreurs de reprendre ensuite, toutes les erreurs ont été ignorées! Même s'il y a une erreur auparavant, le programme ajoutera toujours des données à la base de données.
Pour éviter cette situation, nous devons d'abord faire quelques astuces. La bonne façon de y faire face est la suivante:
| Ce qui suit est le contenu cité: Si err.number = 0 et objconnection.errors.count = 0 alors 'L'instruction ne peut être exécutée ici que car il n'y a pas d'erreurs SET RSTRESULTS = DBDATA.EXECUTE (TXTSQL) Terminer si |
Solutions plus avancées
Lorsqu'une erreur se produit, vous pouvez également afficher plus de messages d'erreur. Ce qui suit est un exemple de gestion des erreurs de base de données et de page. Avec lui, nous pouvons découvrir toutes les erreurs de notre programme à la fois.
| Ce qui suit est le contenu cité: <% Si err.number <> 0 alors Réponse. Sélectionnez Case Err.Number Cas 8 'Spécifiez le mauvais numéro «Dépanner les erreurs personnalisées ici Cas d'autre 'Erreur générale Si isObject (objconnection) alors Si objconnection.errors.count> 0 alors %> <b> Objet de connexion de la base de données </b> <% Pour intloop = 0 à objconnection.errors.count - 1%> N ° d'erreur: <% = objconnection.errors (intloop) .number%> <br> Description: <% = objconnection.errors (intloop) .Description%> <br> Source: <% = objconnection.errors (intloop) .source%> <br> SqlState: <% = objconnection.errors (intloop) .sqlstate%> <br> NIGNALERERROR: <% = objconnection.errors (intloop) .NativeError%> <p> <% Suivant Terminer si Terminer si Si err.number <> 0 alors %> <b> Objet d'erreur de page </b> <br> Numéro d'erreur <% = err.number%> <br> Description de l'erreur <% = err.description%> <br> Source <% = err.source%> <br> LineNumber <% = err.line%> <p> <% Terminer si Fin de sélection Terminer si %> |
L'exemple ci-dessus nous permet de faire face à de nombreux problèmes qui surviennent dans la base de données, qui est également couramment utilisé dans notre programmation quotidienne! Nous devons également voir cette instruction SELECT CASE, qui nous permet de gérer des erreurs spécifiques.
Redirection et gestion des erreurs
Une chose à laquelle nous devons prêter attention est l'objet redirigé que nous utilisons souvent. Si un objet de redirection apparaît dans une page, la gestion des erreurs perdra sa signification. Nous devons donc y faire face avant de tourner, comme suit:
| Ce qui suit est le contenu cité: Si err.number = 0 et objconnection.errors.count = 0 alors Réponse. Response.redirect URL ici Terminer si |
Rendre le code plus soigné
Pour rendre le code plus soigné, placez d'abord le fichier manqué par erreur dans un fichier contenu. De cette façon, vous pouvez l'utiliser dans n'importe quel fichier. Ceci est également pratique à modifier.
Ajoutez l'instruction Error Repup Next en haut de votre programme (après la déclaration linguistique bien sûr).
Faites la vérification des erreurs avant d'exécuter SQL.
La gestion des erreurs était également nécessaire avant d'utiliser la redirection.
Vous permettez de gérer les erreurs contenant des fichiers en haut du code.
Partager: le programme ASP réalise la fonction de pagination des valeurs de paramètres de sauvegarde Ce qui suit est le contenu référencé: <% '' '' 'Call Exemple'dim int_rpp, int_start, int_shownumberli