Wenn wir mit ASP vertraut sind, werden wir es sehr einfach finden, so dass viele Entwickler nicht über den Weg nachdenken, um mit Fehlern umzugehen. Die meisten kommerziellen Websites in ASP ignorieren Fehler. Lassen Sie uns also verstehen, wie Sie jetzt mit ASP -Fehlern umgehen können.
Kurze Einführung
ASP ist so einfach, dass viele Entwickler nicht über Fehlerbehandlungen nachdenken. Die korrekte Behandlung von Fehlern kann Ihre Anwendung vernünftiger machen. Ich habe viele kommerzielle Websites in ASP gesehen, von denen die meisten Fehlerbehandlungen ignorieren.
Es gibt drei Hauptfehlertypen:
Kompilierungsfehler:
Diese Art von Fehler tritt im Allgemeinen aufgrund des Code -Syntaxproblems auf.
Der ASP wurde aufgrund eines Kompilierungsfehlers aufgehört zu laufen.
Fehler ausführen
Dieser Fehler tritt auf, wenn Sie bereit sind, den ASP auszuführen.
Zum Beispiel: Wenn Sie versuchen, einer Variablen einen Wert zuzuweisen, geht es jedoch über den Bereich der Variablen hinaus.
Logischer Fehler
Logische Fehler sind am schwierigsten zu erkennen. Diese Art von Fehler ist oft ein struktureller Fehler, der von einem Computer nicht entdeckt werden kann.
Dies erfordert, dass wir unseren Code gründlich überprüfen.
Da Kompilierungsfehler normalerweise zusammen mit logischen Fehlern auftreten und im Allgemeinen angezeigt werden können, ist das Betriebsfehler. Alles beendet den Betrieb des ASP und lässt dem Benutzer eine Reihe sehr unfreundlicher Text.
Wie gehen wir also mit Betriebsfehlern um? ? Schauen wir uns zunächst den einzigen Fehlerbefehl an, der uns von ASP zur Verfügung gestellt wird - als nächstes bei Fehlerbehebung (ich möchte Anfänger daran erinnern, dass es nur bei Fehlerbehebungen in ASP auf Fehlerbehebung gibt und keine Fehlerbehörden für Fehler -Lebenslauf vorhanden sind). Wenn Sie Nächste Anweisungen für Fehler Lebenslauf nicht verwenden, werden alle Betriebsfehler auftreten. Dies ist tödlich, dann wird ein Fehlercode für den Benutzer "angezeigt", und das ASP -Programm wird ebenfalls gestoppt.
Hier ist ein Fehlercode:
Microsoft Ole DB -Anbieter für ODBC -Treiber Fehler 80004005
[Microsoft] [ODBC -Treiber -Manager] Datenquellenname nicht gefunden und kein Standardfahrer angegeben
/test.asp, Zeile 60
Wenn wir die Nächste Anweisung für Fehler -Lebenslauf oben im Programm verwenden, werden alle Fehler ignoriert und das Programm wird automatisch die nächste Anweisung ausführen. Auf diese Weise wird das Programm vollständig ausgeführt, und der Benutzer wird die Fehlermeldung nach einem Fehler nicht angezeigt. Auf diese Weise gibt es aber auch Nachteile, dh wenn das Programm nicht ausgeführt wird, wie Sie sich vorstellen, wird es für Sie schwierig sein, herauszufinden, was falsch ist.
Handhabungsfehler
In ASP ist der beste Weg, um mit Fehlern umzugehen, den Code am Ende des Programms, um Fehler zu behandeln. Ich empfehle auch, Puffer in jedem ASP -Programm zu verwenden. Wenn ein Fehler auftritt, wird die Seite gestoppt und der Seiteninhalt wird gelöscht, sodass der Benutzer die Fehlermeldung nicht angezeigt wird und es weniger Beschwerden über Sie gibt! Hier ist ein Beispiel:
< %@ Sprache = "vbscript" %>
<% 'Setzen den Puffer auf true
Response.buffer = true
'Start Fehlerbehandlung
Bei der nächsten Fehleraufnahme als nächstes
%>
<% 'Fehlerbehebung
Wenn err.number <> 0 dann dann
'Löschen Sie die Seite
Antwort.Clear
'Die Fehlermeldung an den Benutzer anzeigen
%>
<html>
<kopf>
<title> </title>
</Head>
<Body bgcolor = "#c0c0c0">
<Font face = "arial"> Ein Fehler trat bei der Ausführung dieser ASP -Seite ein Fehler auf <br>
Bitte melden Sie die folgenden Informationen an den Support Desk <p>
<B> Page -Fehlerobjekt </b> <br>
Fehlerzahl: < %= err.number %> <br>
Fehlermeldung: < %= err.description %> <br>
Fehlerdatei: < %= Err.Source %> <br>
Fehlerzeile: < %= err.line %> <br>
</Font>
</Body>
</Html>
<%Ende wenn%>
Wie Sie oben sehen können, habe ich zunächst als nächstes auf Fehlerbehebung eingestellt, damit ein Fehler die Ausführung des Programms nicht beeinträchtigt.
Fehlerbehandlung und Datenbank
Die Ausführung des Hinzufügens von Datenbanken zur Fehlerbehandlung ist sehr kompliziert. Wenn wir ein Programm mit vielen Befehlen haben, um der Datenbank Datensätze hinzuzufügen, wenn ein Einfügen/Update am Ende des Programms ausgeführt wird, ist es vorbei, wenn unser Fehler vorkommt! Wir werden der Datenbank eine Fehlermeldung hinzufügen. Da wir als nächstes für Fehlerlebenslauf verwendet wurden, wurden alle Fehler ignoriert! Selbst wenn zuvor ein Fehler vorliegt, fügt das Programm der Datenbank noch Daten hinzu.
Um diese Situation zu vermeiden, müssen wir zuerst einige Tricks machen. Der richtige Weg, um damit umzugehen, ist wie folgt:
Wenn err.number = 0 und objconnection.Erors.count = 0 dann
'Die Erklärung kann hier nur ausgeführt werden, da es keine Fehler gibt
Set rstresults = dbdata.execute (TXTSQL)
Ende wenn
Fortgeschrittene Lösungen
Wenn ein Fehler auftritt, können Sie auch weitere Fehlermeldungen anzeigen. Unten finden Sie ein Beispiel für die Behandlung von Datenbank- und Seitenfehlern. Damit können wir alle Fehler in unserem Programm gleichzeitig entdecken. (Da ich denke, dass Englisch an einigen Stellen schwieriger zu sprechen ist, gibt es keine Übersetzung).
<%
Wenn err.number <> 0 dann dann
Antwort.Clear
Wählen Sie Case err.number
Fall 8 'Geben Sie die falsche Nummer an
'Fehlerbehebung hier benutzerdefinierte Fehler hier
Fall sonst allgemeiner Fehler
Wenn isObject (objconnection) dann
Wenn objconnection.Erors.count> 0 dann
%>
<B> Datenbankverbindungsobjekt </b>
< % Für intloop = 0 bis objconnection.Erors.count - 1 %>
Fehlernummer: < %= objconnection.Erors (intloop) .number %> <br>
Beschreibung: < %= objconnection.Erors (intloop) .Description %> <br>
Quelle: < %= objconnection.Erors (intloop) .Source %> <br>
SQLState: < %= objconnection.Erors (intloop) .sqlstate %> <br>
NativeError: < %= objconnection.Erors (intloop) .NativeError %> <p>
<% Als nächstes
Ende wenn
Ende wenn
Wenn err.number <> 0 dann dann
%>
<B> Page -Fehlerobjekt </b> <br>
Fehlerzahl < %= err.number %> <br>
Fehlerbeschreibung < %= err.description %> <br>
Quelle < %= Err.Source %> <br>
Leinenumberne < %= err.line %> <p>
<% Ende wenn
Ende auswählen
Ende wenn
%>
Das obige Beispiel ermöglicht es uns, viele Probleme in der Datenbank zu bewältigen, die auch in unserer täglichen Programmierung häufig verwendet wird! Wir sollten auch diese ausgewählte Fallanweisung sehen, mit der wir bestimmte Fehler behandeln können.
Umleitung und Fehlerbehandlung
Eine Sache, auf die wir achten sollten, ist das Umleitungsobjekt, das wir oft verwenden. Wenn auf einer Seite ein Umleitungsobjekt angezeigt wird, verliert die Fehlerbehandlung seine Bedeutung. Also müssen wir uns damit befassen, bevor wir uns umdrehen, wie folgt:
Wenn err.number = 0 und objconnection.Erors.count = 0 dann
Antwort.Clear
Response.Redirect? Lt; url hier>?
Ende wenn
Machen Sie den Code ordentlicher
Um den Code ordentlicher zu machen, geben Sie die fehlerhafte Datei in einer enthaltenen Datei erstmals. Auf diese Weise können Sie es in jeder Datei verwenden. Dies ist auch bequem zu ändern.
Fügen Sie die nächste Anweisung für Fehler Lebenslauf oben in Ihrem Programm hinzu (natürlich nach der Spracherklärung).
Führen Sie die Fehlerprüfung vor, bevor Sie SQL ausführen.
Vor der Verwendung von Umleitungen war auch Fehlerbehandlungen erforderlich.
Lassen Sie Fehler mit Dateien oben im Code behandeln
Dies ist das Ende des Inhalts der ASP -Fehlerbehandlungsmethode. Ich hoffe, dass der Inhalt dieses Artikels für das Studium oder die Arbeit eines jeden hilfreich sein wird.