J'utilise jQuery pour gérer tous mes besoins ajax pour un site ASP.NET codé en VB. Lorsque j'utilise la fonction $ .ajax intégrée pour POST à une fonction code-behind et qu'il existe une exception, il quitte simplement la fonction et affiche une erreur du côté client. En plus de rendre difficile le débogage lors du codage, le plus gros problème est que la fonction Application_Error dans Global.asax ne se déclenche pas lorsque ces exceptions se produisent. Cela rend presque impossible le suivi des erreurs de production. Pourquoi ne pas faire exploser Application_Error? La réponse est-elle d'encapsuler la fonction code-behind dans une instruction Catch?Comment intercepter une exception dans VB.NET lors de l'utilisation de jQuery ajax
jQuery fonction ajax:
$.ajax({
type: "POST",
url: "page.aspx/GetData",
data: "{'param':'" + param_value + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
processData(msg);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("Error: " + textStatus + " - " + errorThrown);
}
});
fonction VB.NET:
<Script.Services.ScriptMethod()> _
<WebMethod()> _
Public Shared Function GetData(ByVal param As Integer) As String
'Parse some data
Return data
End Function
Y a-t-il une bonne raison pour laquelle vous voulez gérer l'erreur dans l'erreur Application_principale plutôt que dans la méthode GetData elle-même? –
Pour plus de simplicité. Je n'ai qu'à écrire le code de gestion des exceptions une fois au lieu d'écrire un bloc Catch pour chaque méthode Web. –