Erfassen und speichern Sie den Funktionscode für ASP-Lauffehler. Freunde, die Asp-Code-Lauffehler erhalten müssen, können sich auf den Prozessnamen beziehen: Catch(str)
Anwendung:
Kopieren Sie den Codecode wie folgt:
Bei Fehler als nächstes fortfahren
„Ihr Code, z. B. Datenbankverbindung.“
Anruffang (prompte Nachricht, die dem Benutzer angezeigt wird)
Funktion: Löschen Sie die IIS-Fehlermeldung, passen Sie die Fehlermeldung an und senden Sie sie an den Benutzer zurück und speichern Sie die Fehlermeldung in einer TXT-Datei (natürlich können Sie auch geringfügige Änderungen vornehmen, um auf eine benutzerdefinierte Seite usw. umzuleiten).
Code:
Kopieren Sie den Codecode wie folgt:
<%
Option explizit
'Beispiel 1------------
„Muss zusammen mit „on error resume next“ verwendet werden, es ist jedoch am besten, es vor der offiziellen Veröffentlichung der Webseite auszukommentieren, um die Fehlerdetails während des Debuggens nicht zu sehen
Bei Fehler als nächstes fortfahren
„i ist nicht definiert und es tritt ein Fehler auf. Verwenden Sie „catch“, um den Fehler zu löschen und im Editor zu speichern.
ich
Anruffang (auf die Seite kann nicht zugegriffen werden)
'------------------------------------------------
'Beispiel 2------------
functionconn()
„Muss zusammen mit „on error continue next“ verwendet werden
Bei Fehler als nächstes fortfahren
'.........Ihr Code zum Herstellen einer Verbindung zur Datenbank
Call Catch (Fehler beim Öffnen der Datenbank)
Endfunktion
'------------------------------------------------
Sub-Catch(str)
Wenn Fehlernummer <> 0, dann
dim tmp,path
'Der absolute Pfad des Fehlerprotokolls, z. B. /error_log.txt
path = /table/error_log.txt
tmp = tmp & Fehlerseite: & geturl & vbcrlf
tmp = tmp & Fehlerzeit: & now() & vbcrlf
tmp = tmp & Besuchs-IP: & ip & vbcrlf
tmp = tmp & Eingabeaufforderung: & str & vbcrlf
tmp = tmp & Fehlercode: & err.number & vbcrlf
tmp = tmp & Fehlermeldung: & err.description & vbcrlf
tmp = tmp & application: & err.source & vbcrlf & vbcrlf & vbcrlf
tmp = tmp & file_read(pfad)
call file_save(tmp,path,1)
err.clear()
sterben(str)
Ende wenn
Ende sub
'Die folgenden Funktionen werden von Catch------ verwendet.
sub echo(str)
Antwort.write(str)
Ende sub
subdie(str)
echo(str): Response.end()
Ende sub
functionip()
ip = request.servervariables(remote_addr)
Endfunktion
'Holen Sie sich die aktuelle URL
Funktion geturl()
dimmte Temperatur
wenn lcase(request.servervariables(https)) = off dann
tmp = http://
anders
tmp=https://
Ende wenn
tmp = tmp & request.servervariables(server_name)
wenn request.servervariables(server_port) <> 80 dann
tmp = tmp & : & request.servervariables(server_port)
Ende wenn
tmp = tmp & request.servervariables(url)
if trim(request.querystring) <> then
tmp = tmp & ? & trim(request.queryString)
Ende wenn
geturl = tmp
Endfunktion
'Funktion: Dateiinhalt in String einlesen
Funktion file_read(path)
dim tmp: tmp = false
Wenn nicht file_exists(path), dann file_read = tmp: Funktion beenden
Stream dimmen: set stream = server.CreateObject(ADODB.Stream)
mit Strom
.type = 2 'Texttyp
.mode = 3 'Lese- und Schreibmodus
.charset = gb2312
.offen
.loadfromfile(server.MapPath(pfad))
tmp = .readtext()
Schluss mit
stream.close: set stream = nichts
file_read = tmp
Endfunktion
'Funktion: Zeichenfolge in Datei speichern
Funktion file_save(str,path,model)
Wenn Modell<>0 und Modell<>1, dann Modell=1
Wenn model=0 und file_exists(path), dann file_save=true: Funktion beenden
Stream dimmen: set stream = server.CreateObject(ADODB.Stream)
mit Strom
.type = 2 'Texttyp
.charset = gb2312
.offen
.writetext str
.savetofile(server.MapPath(path)),model+1
Schluss mit
stream.close: set stream = nichts
file_save = file_exists(Pfad)
Endfunktion
'Funktion: Erkennen, ob die Datei/der Ordner vorhanden ist
Funktion file_exists(path)
dim tmp: tmp = false
dim fso: set fso = server.CreateObject(Scripting.FilesyStemObject)
Wenn fso.fileexists(server.MapPath(path)) dann tmp = true
Wenn fso.folderexists(server.MapPath(path)) dann tmp = true
setze fso = nichts
file_exists = tmp
Endfunktion
%>