Ich habe eine Seite, die ein klassisches ASP/VB-Skript mit der jQuery Ajax-Funktion aufruft, mit der Handler für Erfolgs- und Fehlerergebnisse angegeben werden können. Diese Handler erhalten die Antwort vom ASP-Skript zurück, das gerade etwas SQL-Code ausführt, um einen Datensatz in eine Datenbank einzufügen. Wenn es einen SQL-Fehler gibt, der auf eine doppelte Schlüsselverletzung hinweist, möchte ich die generierte Fehlermeldung durch eine freundliche ersetzen, indem ich den folgenden Code benutze. Wie ich festgestellt habe, funktioniert das nicht, weil der Code niemals die Zeile "if conn.Errors.Count" erreicht. Wenn SQL einen Fehler generiert, wird der Code sofort mit der Fehlermeldung zurückgegeben, die die Zeilennummer der Zeile "conn.Execute" enthält. Gibt es eine Möglichkeit, dies zu tun, was ich will?Umgang mit VBScript-Fehlern beim Aufrufen von Skripten mit Ajax
2
A
Antwort
0
wie andere darauf hingewiesen haben, ist die beste Lösung, "bei Fehler fortsetzen nächsten" zu verwenden. so würde der Code in etwa so aussehen:
on error resume next
set conn=CreateObject("ADODB.Connection")
conn.Open ConnString
conn.Execute "INSERT ... " (long statement omitted for readability)
if Err.Number > 0 then
if instr(Err.Description, "duplicate key") > 0 then
Response.Write "Unable to add herb - code already exists"
else
Response.Write conn.Errors(0).Description
end if
else ' success
Response.Write "Herb added"
end if
conn.Close
set conn=nothing
on error goto 0 '-- this will remove error handling for the rest of the page and can be considered optional in this case
Verwandte Themen
- 1. Umgang mit Fehlermeldungen beim Abrufen eines Blobs über AJAX
- 2. Ajax Laden von Skripten (mit jQuery) von CDN funktioniert nicht
- 3. Problem beim Laden von JS-Skripten mit history.js
- 4. Probleme beim Umgang mit Orientierungsänderungen
- 5. Umgang mit NSError beim Lesen von Datei?
- 6. Segmentierungsfehler beim Umgang mit Array von Struktur
- 7. Aufrufen von Token mit Ajax (WSO2 APIManager1.10)
- 8. Durchschleifen von Funktionen mit AJAX-Aufrufen
- 9. Fehler beim Umgang mit "NSURLConnection.sendAsynchronousRequest"
- 10. Umgang mit JQuery Ajax-Erfolg Objektdaten
- 11. jQuery AJAX und Umgang mit verschiedenen dataTypes
- 12. Umgang mit Brotkrümeln auf Ajax yii2
- 13. Methoden zwischen groovigen Skripten mit korrekten Parametern aufrufen
- 14. Wohin mit PowerShell-Skripten?
- 15. Umgang mit Browserquirks beim Positionieren von SVG-Elementen
- 16. Bedingte Logik mit verketteten AJAX-Aufrufen
- 17. wie upload.php Datei mit Ajax aufrufen?
- 18. mit jquery $ .ajax eine PHP-Funktion aufrufen
- 19. Best Practice mit jQuery und AJAX-Aufrufen
- 20. Umgang mit mehreren db Zeilen mit Ajax und JSON
- 21. Umgang mit "großen Daten Json Anfragen" mit mehreren Ajax Anfragen
- 22. Parse-Fehler beim Umgang mit Strings
- 23. Best Practice beim Umgang mit Datenbank
- 24. Umgang mit Javascript mit Python
- 25. mysql Syntaxfehler beim Umgang mit negativen Zahlen
- 26. Schwierigkeiten beim Umgang mit E-Mail-Absicht
- 27. Qt-Übersetzungen beim Umgang mit QUiloader
- 28. Umgang mit Flexbox beim Ändern eines Elements
- 29. wie domainübergreifendes Web-API mit Ajax aufrufen?
- 30. C# Entity Framework - Umgang mit destruktiven Autogen-DB-Skripten mit dem ersten Entwurf des Modells
Siehe auch: [Fehlerbehandlung in ASP] (http://www.4guysfromrolla.com/webtech/060399-1.shtml) – SearchAndResQ
Mögliche Duplikat [mit „auf Fehler weiter "im klassischen ASP, und wie man mit Fehlern umgehen kann" (https://stackoverflow.com/questions/17445890/using-on-error-resume-next-in-classic-asp-and-how-to-handle- Fehler) –
Hallo - so klassische ASP funktioniert auf der Grundlage, dass, wenn Sie nicht anders angeben, ist jeder Fehler unerwartet und es wird beendet, wenn es einen sieht. In Ihrem Fall verursacht das SQL einen Fehler - daher der Quit. Vielleicht haben Sie schon einmal von "try-catch" gehört, um über die Fehlerbehandlung zu sprechen. Klassisches ASP hat kein try-catch, stattdessen hat es einen Fehler resume next usw. Verwenden Sie die Links, die die anderen bereitgestellt haben. –