Recommandé: utilisez ASP pour développer des sites Web Généralement, les sites Web à grande échelle sont de moins en moins susceptibles d'utiliser ASP pour l'architecture, mais ASP occupe toujours une grande portée du marché dans les petits et moyens sites commerciaux. L'ASP est favorisé par les petits et moyens administrateurs de sites pour son cycle de développement simple et court et son entretien facile. Cependant, pour autant que je sache
7.4.2 Gestion des erreurs VBScript
Dans VBScript, l'interprète de script peut être fait de ne pas gérer les erreurs qu'il trouve et continuer à exécuter l'instruction suivante à l'aide de l'instruction ON ERROR REPOS NEXT. Une fois cette déclaration traitée, le moteur de script continuera d'exécuter le programme ultérieur sans payer d'erreurs qui ont été trouvées. Cependant, ce processus ne s'applique qu'aux environnements où les instructions sont exécutées séquentiellement et, en d'autres termes, non aux fonctions ou sous-programmes imbriqués.
1. Utilisez l'instruction SUIVANT CV ERREUR
Lorsqu'une erreur se produit dans un sous-programme, si l'instruction Error Repup Next n'est pas exécutée, l'erreur sera remise à l'environnement dans lequel elle est appelée. Ce processus est répété jusqu'à ce que l'environnement en cours d'exécution sur l'instruction SUIVANT CV ERROR SECUMENT soit trouvé, ou le gestionnaire d'erreur de script par défaut est trouvé, et l'erreur est remise à l'ASP et IIS affiche la page d'erreur par défaut.
Cette mauvaise chaîne d'appels signifie que les fonctions et les sous-programmes peuvent être créés qui empêchent les erreurs de fonctionnement de provoquer la fin de l'exécution du programme. Si une instruction SUIVANT CV ENRERS est placée au début du sous-programme, toutes les erreurs d'exécution interrompront l'exécution du sous-programme, mais le programme qui appelle le sous-programme continuera à s'exécuter sans provoquer l'arrêt de la page Web.
Par exemple, si vous avez besoin d'écrire une chaîne dans un fichier, vous pouvez accéder au fichier via une fonction indépendante pour empêcher les erreurs d'interrompre l'ensemble du programme:
'Créez un fichier nommé strFilename, écrasant n'importe quel nom existant avec ce nom
'Et écrit un stratminte dedans puis ferme le fichier
'Renvoie vrai s'il réussit, ou faux sur toute erreur
Fonction writenewfile (strfilename, strContent)
Sur l'erreur reprendre la prochaine `` désactiver le gestionnaire d'erreur par défaut
WitEnewFile = Flase 'Valeur de retour par défaut de la fonction
Set objfso = createObject (scripting.fileSystemObject)
Si err.number = 0 alors définissez objfile = objfso.createtextfile (strFileName, true)
Si err.number = 0 alors objfile.writeline strContent
Si err.number = 0 alors objfile.close
Si err.number = 0 alors writenewfile = true
Fonction finale
Notez que le programme ci-dessus vérifie la propriété numéro de l'objet ERR de VBScript avant d'essayer de traiter chaque instruction de programme. Si cette valeur est 0 (aucune erreur s'est encore produite), le processus de dépôt et de création du fichier ne peut être poursuivi. Cependant, si l'erreur se produit, le moteur de script définira la valeur de la propriété de l'objet ERR et continuera de traiter la ligne suivante.
Tant qu'il peut s'exécuter normalement sans provoquer d'erreur, la valeur de retour de la fonction sera définie sur true. Sinon, la fonction retournera false. En programmation, vous pouvez utiliser cette fonction et prendre d'autres actions après l'avoir testée.
Voici un exemple simple, nous voulons utiliser une fonction distincte pour la première partie de la tâche afin que nous puissions identifier plus précisément où l'erreur se produit. Cela facilite la lecture du code pendant le débogage. Dans le programme principal de la page, trois fonctions distinctes peuvent être appelées.
Si createnewfile (strFilename) alors 'Créez le nouveau fichier
Response.write nouveau fichier a réussi à créer <br>
Si WriteContent (StrContent) alors «Écrivez le contenu
Response.write Contenu écrit dans Fichier <br>
Autre
Response.Write Erreur: Impossible d'écrire dans le fichier <br>
Terminer si
Si CloseFile (strFilename)
Réponse.WRITE Fichier fermé <br>
Autre
Erreur de réponse.WRITE: Impossible de fermer le fichier <br>
Terminer si
Autre
Response.Write Erreur: Impossible de créer le nouveau fichier <br>
Fin Funciotn
2. Utilisation d'erreur Goto 0
Dans ASP 2.0 (bien qu'aucune documentation) et ASP 3.0, le comportement de gestion des erreurs par défaut peut également être restauré à l'aide de l'instruction ON ERROR GOTO 0. Après avoir exécuté cette instruction, l'erreur d'exécution qui se produit entraînera la gestion des erreurs par défaut, la vérification de chaque programme imbriqué dans la chaîne environnementale jusqu'au code de la page principale. S'il n'y a pas d'autre environnement pour désactiver la gestion des erreurs par défaut, l'exécution de la page Web s'arrêtera et affichera la page d'erreur par défaut IIS.
3. VBScript Err Object
Dans l'exemple précédent, lorsque la gestion des erreurs par défaut est désactivée, vérifiez si l'erreur s'est produite en vérifiant la propriété numéro de l'objet VBScript ERR. L'objet ERR stocke les informations sur les erreurs d'exécution. Les tableaux 7-3 et 7-4 donnent les méthodes et propriétés fournies par l'objet VBScript ERR.
Tableau 7-3 Méthodes d'objet VBScript ERR
méthode
illustrer
Clair
Effacer tous les paramètres d'objet ERR actuels
Augmenter
Une erreur d'exécution s'est produite
Tableau 7-4 Propriétés de l'objet VBScript ERR
propriété
illustrer
Description
Définir ou renvoyer une chaîne décrivant l'erreur
Nombre
(Par défaut) Définir ou renvoyer la valeur d'erreur spécifiée
Source
Définir ou renvoyer le nom de l'objet qui a généré l'erreur
Utilisez ces propriétés pour vérifier quelle erreur se produit. Par exemple, différentes mesures peuvent être prises en fonction du numéro d'erreur, ou les informations d'erreur peuvent être fournies à l'utilisateur avec les valeurs de propriété de la source et de la description, ou transférées dans un fichier.
Vous pouvez également utiliser l'objet ERR pour générer une erreur. Pourquoi ces choses? Parce que parfois je souhaite envoyer un message d'erreur personnalisé à l'utilisateur. Les propriétés de l'objet ERR peuvent être définies sur n'importe quelle valeur souhaitée. Ensuite, appelez la méthode de relance pour générer cette erreur. Cela arrêtera le programme et transmettra l'erreur le long de la chaîne d'appels.
L'exemple suivant montre comment gérer les erreurs lors de la lecture d'un fichier texte sur le disque du serveur. Remarque comment utiliser le VBOBJecterror constant pour déterminer que le numéro d'erreur sélectionné ne sera pas confondu avec un numéro d'erreur existant. En ajoutant tout numéro d'erreur sélectionné à cette constante, il est garanti de ne pas être confondu avec les erreurs prédéfinies.
Functoin ReadThisFile (strFilename) 'Renvoie le contenu en tant que chaîne
Sur l'erreur reprendre ensuite
ReadThifile = 'Valeur de retour par défaut de la fonction
Set objfso = createObject (scripting.fileSystemObject)
Set objfile = objfso.opentextfile (strFilename, forreading)
Sélectionnez Case Err.Number
Cas 0 'ok, ne prenez aucune mesure
Cas 50, 53 'Fichier ou chemin standard non trouvé des erreurs
«Créez des valeurs d'erreur personnalisées et augmentez les erreurs de sauvegarde de la chaîne d'appels
interrnumber = vBobJecterror 1073 'Numéro d'erreur personnalisé
swerdecript
Partager: comment utiliser ASP pour obtenir l'adresse de la véritable propriété intellectuelle du client? Pour obtenir la véritable adresse IP du client via le serveur proxy, vous devez utiliser request.servervariables (http_x_forwarded_for) pour le lire. Mais il convient de noter que tous les serveur proxy ne peuvent pas utiliser la demande.