2010-05-07 7 views
2

Je crée des appels CLR de procédure stockée MSSQL à partir de pages ASP. Lorsqu'une exception se produit, elle est journalisée puis renvoyée. Dans ce scénario, je dois être en mesure de gérer l'exception (si possible) dans la page ASP. Notez que je ne peux pas m'éloigner de l'ASP classique dans ce cas; Je suis coincé dans un système hérité pour ce projet. S'il vous plaît laissez-moi savoir si vous connaissez un moyen de gérer les exceptions en ASP classique. J'apprécie l'aide!Gestion des exceptions .NET dans les pages ASP classiques

Merci, Tyler

+0

Appelez-vous une procédure stockée à partir d'ASP? Ou appelez-vous du code .NET, qui appelle une procédure stockée? Peut-être nous montrer un exemple. – driis

+0

J'appelle la procédure stockée de ASP; la procédure stockée exécute le code C# CLR. – Tyler

Répondre

2

Le langage de code ASP classique est VBScript, vous devez donc faire avec les capacités de gestion des erreurs de cette langue, en utilisant le « On Error ... » construire. Vous devez décider si vous voulez créer un gestionnaire d'erreurs général ou insérer une logique de gestion des erreurs spécifique aux appels SQL.

Ce sont vos options pour la gestion des erreurs:

On Error Goto 0  ' Turns off error trapping. This is most likely what you got now 
On Error Resume Next ' In case of error, simply execute next statement. Not recommended ! 
On Error Goto <label> ' Go to the specified label on an Error. 

Si vous utilisez On Error Goto ... L'objet Err contiendra des informations d'erreur. Cela signifie que vous devriez être en mesure d'écrire quelque chose comme:

On Error Goto errorHandler 
' Your code here. 

errorHandler: 
' Handle the error somehow. Perhaps log it and redirect to a prettier error page. 
Response.Write Err.Number 
Response.Write Err.Description 
+0

Merci pour votre réponse. Juste après l'exécution de la procédure stockée (dans le code ASP), la ligne de code suivante apparaît: "Si Err.Number <> 0 Then", puis un code de gestion des erreurs. Mon soupçon est que le asp.dll ne peut pas attraper et gérer les exceptions .NET. Avez-vous d'autres suggestions? Merci. – Tyler

+0

Si le mécanisme d'erreur ASP classique entre en jeu et vous montre une erreur ASP, alors vous devriez être capable de le gérer comme ça. Sinon, vous pourriez faire quelque chose d'autre ... Peut-être essayer de poster un exemple de code? – driis

+0

Je n'ai rien écrit dans ASP depuis longtemps. Tu avais raison Je manipulais les erreurs de manière incorrecte. Je vous remercie! – Tyler

Questions connexes