一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP教程 - 捕捉并保存ASP運行錯誤的函數(shù)代碼

捕捉并保存ASP運行錯誤的函數(shù)代碼

2019-07-16 21:28服務器之家 ASP教程

捕捉并保存ASP運行錯誤的函數(shù)代碼,需要獲取asp代碼運行錯誤的朋友可以參考下

過程名:catch(str) 
使用方法: 

復制代碼代碼如下:


on error resume next 
'你的代碼,如數(shù)據(jù)庫連接 
call catch("顯示給用戶的提示信息") 


功能:清除IIS的錯誤提示信息,自定義錯誤提示返回給用戶,并將出錯信息保存到txt文件(當然你也可以稍做修改轉(zhuǎn)向自定義頁面等) 

代碼: 

復制代碼代碼如下:


<% 
option explicit 
'例一--------------------------- 
'必須和on error resume next一起使用,但在網(wǎng)頁沒有正式發(fā)布之前最好將其注釋掉,以免在調(diào)試時看不到出錯詳細信息 
on error resume next 
'i沒有定義,會出錯,使用catch清除錯誤并保存到記事本 

call catch("頁面無法訪問") 
'------------------------------- 
'例二--------------------------- 
function conn() 
'必須和on error resume next一起使用 
on error resume next 
'...........你的連接數(shù)據(jù)庫代碼 
call catch("數(shù)據(jù)庫打開錯誤") 
end function 
'------------------------------- 
sub catch(str) 
if err.number <> 0 then 
dim tmp,path 
'錯誤日志絕對路徑,如"/error_log.txt" 
path = "/table/error_log.txt" 
tmp = tmp & "出錯頁面:" & geturl & vbcrlf 
tmp = tmp & "錯誤時間:" & now() & vbcrlf 
tmp = tmp & "來訪IP:" & ip & vbcrlf 
tmp = tmp & "提示信息:" & str & vbcrlf 
tmp = tmp & "錯誤代號:" & err.number & vbcrlf 
tmp = tmp & "錯誤信息:" & err.description & vbcrlf 
tmp = tmp & "應用程序:" & err.source & vbcrlf & vbcrlf & vbcrlf 
tmp = tmp & file_read(path) 
call file_save(tmp,path,1) 
err.clear() 
die(str) 
end if 
end sub 
'以下為catch所用到的函數(shù)-------------------- 
sub echo(str) 
response.write(str) 
end sub 
sub die(str) 
echo(str) : response.end() 
end sub 
function ip() 
ip = request.servervariables("remote_addr") 
end function 
'獲取當前URL 
function geturl() 
dim tmp 
if lcase(request.servervariables("https")) = "off" then 
tmp = "http://" 
else 
tmp = "https://" 
end if 
tmp = tmp & request.servervariables("server_name") 
if request.servervariables("server_port") <> 80 then 
tmp = tmp & ":" & request.servervariables("server_port") 
end if 
tmp = tmp & request.servervariables("url") 
if trim(request.querystring) <> "" then 
tmp = tmp & "?" & trim(request.queryString) 
end if 
geturl = tmp 
end function 
'函數(shù):讀取文件內(nèi)容到字符串 
function file_read(path) 
dim tmp : tmp = "false" 
if not file_exists(path) then file_read = tmp : exit function 
dim stream : set stream = server.CreateObject("ADODB.Stream") 
with stream 
.type = 2 '文本類型 
.mode = 3 '讀寫模式 
.charset = "gb2312" 
.open 
.loadfromfile(server.MapPath(path)) 
tmp = .readtext() 
end with 
stream.close : set stream = nothing 
file_read = tmp 
end function 
'函數(shù):保存字符串到文件 
function file_save(str,path,model) 
if model<>0 and model<>1 then model=1 
if model=0 and file_exists(path) then file_save=true : exit function 
dim stream : set stream = server.CreateObject("ADODB.Stream") 
with stream 
.type = 2 '文本類型 
.charset = "gb2312" 
.open 
.writetext str 
.savetofile(server.MapPath(path)),model+1 
end with 
stream.close : set stream = nothing 
file_save = file_exists(path) 
end function 
'函數(shù):檢測文件/文件夾是否存在 
function file_exists(path) 
dim tmp : tmp = false 
dim fso : set fso = server.CreateObject("Scripting.FilesyStemObject") 
if fso.fileexists(server.MapPath(path)) then tmp = true 
if fso.folderexists(server.MapPath(path)) then tmp = true 
set fso = nothing 
file_exists = tmp 
end function 
%> 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 桥本有菜在线四虎福利网 | 人人人人看人人人做人人 | 无遮掩60分钟从头啪到尾 | 国产精品一二三 | 高清国产欧美一v精品 | 欧美草逼网站 | 好吊色网站| 爱爱亚洲 | 91久久福利国产成人精品 | 9总探花新品牛仔背带裤 | 人生路不在线观看完整版 | 高跟丝袜人妖sissy露出调教 | 亚洲精品卡一卡2卡3卡4卡 | 亚洲欧美综合区自拍另类 | 欧美日韩国产一区二区三区伦 | 暖暖日本在线观看免费 | 91久久国产成人免费观看资源 | 亚洲欧美久久久久久久久久爽网站 | 第一福利在线导航 | 91大神在线观看精品一区 | 精品性影院一区二区三区内射 | 欧美成人aa久久狼窝动画 | 女同69式互添在线观看免费 | 欧美一区二区三区免费观看视频 | 男女啪啪gif | 欧美特级特黄a大片免费 | 欧美在线欧美 | 国内精品一区视频在线播放 | 成人青青草 | 深夜福利影院在线观看 | 成人免费在线视频观看 | 欧美a在线观看 | 国产欧美日韩不卡一区二区三区 | 国产主播福利在线观看 | 欧美大美bbb和大白屁股 | 色综合网亚洲精品久久 | 好湿好滑好硬好爽好深视频 | 歪歪漫画a漫入口 | 公园暴露娇妻小说 | 久久影院中文字幕 | 狠狠色婷婷 |