Est try-catch comme la gestion d'erreur possible en ASP Classique?
Quelles options sont là dans ASP Classique pour l'erreur de manipulation?
Par exemple:
Je suis en utilisant le Mail.SendMail
fonction, mais lors de la commutation sur le serveur de test ne fonctionne pas, ce qui est normal. Je veux tester si l'envoi est possible, si elle n'est pas alors de poursuivre et/ou d'afficher un message.
Des idées?
Vous devez vous connecter pour publier un commentaire.
Il y a deux approches, vous pouvez code JScript ou VBScript qui ont le construire ou vous pouvez fudge dans votre code.
À l'aide de JScript que vous souhaitez utiliser le type de construction:
Dans votre code ASP vous fudge par l'aide de on error resume next au point, vous avez de l'essayer et de vérifier err.Nombre sur le point de rattraper comme:
Concernant Wolfwyrd de l'anwer: "on Error Resume Next", en fait, tourne erreur de manipulation de réduction! Pas sur. On Error Goto 0 tours de gestion des erreurs en arrière, car au moins, nous voulons la machine à rattraper si on n'a pas l'écrire en nous-mêmes. Off = le laisser à vous de le gérer.
Si vous utilisez l'on Error Resume Next, vous devez être prudent sur la façon dont beaucoup de code vous d'inclure après: rappelez-vous, le membre de phrase "Si Err.Nombre <> 0 then" se réfère uniquement à la plupart des précédentes erreur déclenchée.
Si votre bloc de code après "on Error Resume Next" a plusieurs endroits où vous pouvez raisonnablement s'attendre à ce qu'il tombe en panne, vous devez placer "Si Err.nombre <> 0" après chaque et chaque un de ceux de défaillance possible des lignes, d'en vérifier l'exécution.
Sinon, après "on error resume next" signifie juste ce qu'il dit - que votre code peut échouer sur autant de lignes qu'il aime et l'exécution continueront gaiement le long. C'est pourquoi il est une douleur dans le cul.
1) Ajouter
On Error Resume Next
au haut de la page2) Ajouter le code suivant au bas de la page
Une assez bonne façon de gérer cette manquantes pour les classes COM:
la déclaration on Error Resume Next doit être placé sur le dessus de ce que nous voulons valider.
Puis à la fin avec une instruction comme:
Pour anytone qui a travaillé dans l'ASP ainsi que plus de langues modernes, la question sera de provoquer un rire. Dans mon expérience, à l'aide d'un gestionnaire d'erreur personnalisé (mis en place dans IIS pour gérer les 500;100 erreurs) est la meilleure option pour les ASP de gestion d'erreurs. Cet article décrit l'approche et vous donne même un exemple de code /base de données de définition de la table.
http://www.15seconds.com/issue/020821.htmIci est un lien à Archive.org's version
Été un moment depuis que j'ai été en ASP terre, mais autant que je me souvienne, il y a un couple de façons:
try catch finally
peut raisonnablement être simulé en VBS (bon articleiciici) et il y a un événement appeléclass_terminate
vous pouvez regarder et attraper les exceptions à l'échelle mondiale en. Puis il y a la possibilité de changer votre langage de script...Certains scénarios ne sont pas toujours de permettre aux développeurs pour passer un langage de script.
Ma préférence est certainement pour JavaScript (et je l'ai utilisé dans de nouveaux projets). Cependant, le maintien des projets plus anciens est toujours requis et nécessaires. Malheureusement, ceux-ci sont écrits en VBScript.
Donc, même si cette solution n'offre pas de véritable "try/catch" functionaility, le résultat est le même, et c'est assez bon pour moi de faire le travail.