Capturez et enregistrez le code de fonction pour les erreurs d'exécution ASP. Les amis qui ont besoin d'obtenir les erreurs d'exécution de code asp peuvent se référer au nom du processus : catch(str).
Comment utiliser :
Copiez le code comme suit :
en cas d'erreur, reprendre ensuite
'Votre code, tel que la connexion à la base de données
appel intercepté (message d'invite affiché à l'utilisateur)
Fonction : Effacez le message d'erreur IIS, personnalisez le message d'erreur et renvoyez-le à l'utilisateur, et enregistrez le message d'erreur dans un fichier txt (bien sûr, vous pouvez également apporter de légères modifications pour rediriger vers une page personnalisée, etc.)
Code:
Copiez le code comme suit :
<%
option explicite
'Exemple 1-------------------------------
'Doit être utilisé avec la reprise d'erreur ensuite, mais il est préférable de le commenter avant la publication officielle de la page Web, afin de ne pas voir les détails de l'erreur pendant le débogage.
en cas d'erreur, reprendre ensuite
'i n'est pas défini et une erreur se produira. Utilisez catch pour effacer l'erreur et enregistrez-la dans le Bloc-notes.
je
call catch (la page n'est pas accessible)
'---------------------------------
'Exemple 2---------------------------
fonctionconn()
'Doit être utilisé avec la reprise en cas d'erreur ensuite
en cas d'erreur, reprendre ensuite
'.........votre code pour vous connecter à la base de données
call catch (erreur d'ouverture de la base de données)
fonction de fin
'---------------------------------
sous capture (str)
si numéro d'erreur <> 0 alors
faible tmp, chemin
'Le chemin absolu du journal des erreurs, tel que /error_log.txt
chemin = /table/error_log.txt
tmp = tmp & page d'erreur : & geturl & vbcrlf
tmp = tmp & temps d'erreur : & now() & vbcrlf
tmp = tmp & IP de visite : & ip & vbcrlf
tmp = tmp & message d'invite : & str & vbcrlf
tmp = tmp & code d'erreur : & numéro d'erreur & vbcrlf
tmp = tmp & message d'erreur : & err.description & vbcrlf
tmp = tmp & application : & err.source & vbcrlf & vbcrlf & vbcrlf
tmp = tmp & file_read(chemin)
appelez file_save(tmp,chemin,1)
err.clear()
mourir (str)
finir si
fin du sous
'Voici les fonctions utilisées par catch--------------------
sous écho (str)
réponse.write(str)
fin du sous
subdie(str)
echo(str) : réponse.end()
fin du sous
fonctionip()
ip = request.servervariables (remote_addr)
fonction de fin
'Obtenir l'URL actuelle
fonction geturl()
faible tmp
si lcase(request.servervariables(https)) = off alors
tmp = http://
autre
tmp=https://
finir si
tmp = tmp & request.servervariables (nom_serveur)
si request.servervariables(server_port) <> 80 alors
tmp = tmp & : & request.servervariables(server_port)
finir si
tmp = tmp & request.servervariables (url)
si trim(request.querystring) <> alors
tmp = tmp & ? & trim(request.queryString)
finir si
geturl = tmp
fonction de fin
'Fonction : lire le contenu du fichier dans une chaîne
fonction file_read (chemin)
faible tmp : tmp = faux
sinon file_exists(path) alors file_read = tmp : fonction de sortie
dim stream : définir le flux = server.CreateObject (ADODB.Stream)
avec flux
.type = 2 'Type de texte
.mode = 3 'Mode lecture et écriture
.charset = gb2312
.ouvrir
.loadfromfile(server.MapPath(chemin))
tmp = .readtext()
terminer par
stream.close : définir le flux = rien
fichier_read = tmp
fonction de fin
'Fonction : enregistrer la chaîne dans un fichier
fonction file_save (str, chemin, modèle)
si modèle<>0 et modèle<>1 alors modèle=1
si model=0 et file_exists(path) alors file_save=true : fonction de sortie
dim stream : définir le flux = server.CreateObject (ADODB.Stream)
avec flux
.type = 2 'Type de texte
.charset = gb2312
.ouvrir
.writetext chaîne
.savetofile(server.MapPath(chemin)),modèle+1
terminer par
stream.close : définir le flux = rien
file_save = file_exists(chemin)
fonction de fin
'Fonction : détecter si le fichier/dossier existe
fonction file_exists (chemin)
faible tmp : tmp = faux
dim fso : set fso = server.CreateObject (Scripting.FilesyStemObject)
si fso.fileexists(server.MapPath(path)) alors tmp = true
si fso.folderexists(server.MapPath(path)) alors tmp = true
définir fso = rien
fichier_existe = tmp
fonction de fin
%>