Forum de discussion
Forum « Programmation ASP » (archives)
Re: ON ERROR RESUME NEXT
Envoyé: 27 juillet 2004, 13h50 par Oznog
Non, le ON ERROR RESUME NEXT se contente d'ignorer les erreurs, alors tu peux les gérer par la suite manuellement. Il ne génère en aucun cas une erreur.
Mais faut bien utiliser.
Voilà un exemple. Il y a les deux, l'erreur ADO sur l'objet "connexion" et l'erreur VBScript. C'est souvent les deux mais parfois, comme une erreur de connexion, c'est seulement ADO. C'est pour ça qu'on gère les deux.
%
dim ChaineDeConnexion, oADOConn, strSQL, oRS, ADOErreur, VBErreur
on error resume next
ChaineDeConnexion = "Ta chaîne de connexion"
set oADOConn = server.createobject("adodb.connection")
oADOConn.open ChaineDeConnexion
strSQL = "ta requète SQL"
Set oRS = oADOConn.Execute (strSQL)
if oADOConn.errors.count > 0 then
ADOErreur = "ADO: " & oADOConn.errors(0).number & " - " & oADOConn.errors(0).description
end if
if err.number <> 0 then
VBErreur = "VBS: " & err.number & " - " & err.description
end if
oADOConn.close
set oADOConn=nothing
%>
<h4>Erreur ADO</h4>
<p><%=ADOErreur%></p>
<h4>Erreur VBScript</h4>
<p><%=VBErreur%></p>
Bon, dans cet exemple si la connexion est bonne il t'indiquera les erreur de la requètes SQL. Mais c,est extrêmement limité côté description.
Si tu veux aussi gérer les erreurs de connexion, tu dois ajouter un test AVANT la requète SQL et APRÈS la connexion. Sinon tu aura l'erreur que l'objet est fermé quand en fait il a une erreur lors de la connexion. Parceque tu cherchera l'erreur à partir d'un objet qui n'est pas ouvert (oADOConn.errors.count, oADOConn étant fermé).
Ciao
Oznog
Réponses
|