捕捉并保存ASP运行错误的函数代码
2012-03-03 00:00
357 查看
过程名:catch(str)
使用方法:
功能:清除IIS的错误提示信息,自定义错误提示返回给用户,并将出错信息保存到txt文件(当然你也可以稍做修改转向自定义页面等)
代码:
使用方法:
on error resume next '你的代码,如数据库连接 call catch("显示给用户的提示信息")
功能:清除IIS的错误提示信息,自定义错误提示返回给用户,并将出错信息保存到txt文件(当然你也可以稍做修改转向自定义页面等)
代码:
<% option explicit '例一--------------------------- '必须和on error resume next一起使用,但在网页没有正式发布之前最好将其注释掉,以免在调试时看不到出错详细信息 on error resume next 'i没有定义,会出错,使用catch清除错误并保存到记事本 i call catch("页面无法访问") '------------------------------- '例二--------------------------- function conn() '必须和on error resume next一起使用 on error resume next '...........你的连接数据库代码 call catch("数据库打开错误") 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所用到的函数-------------------- 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 '函数:读取文件内容到字符串 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 '函数:保存字符串到文件 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 '函数:检测文件/文件夹是否存在 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 %>
相关文章推荐
- ASP运行错误的函数代码学习
- asp 读取文件和保存文件函数代码
- asp下实现代码的“运行代码”“复制代码”“保存代码”功能源码
- asp下实现代码的“运行代码”“复制代码”“保存代码”功能源码
- asp下实现代码的“运行代码”“复制代码”“保存代码”功能源码
- asp下实现代码的“运行代码”“复制代码”“保存代码”功能源码
- asp 读取文件和保存文件函数代码
- asp下实现代码的“运行代码”“复制代码”“保存代码”功能源码
- ReplaceTrim 函数之asp实现过滤掉字符中所有的tab和回车和换行的代码
- Asp 返回引用类型函数代码
- 正试图在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。
- asp通用采集函数冗余版可以保存文件到本地
- 运行,复制,保存,runCode,copyCode,saveCode,运行代码框
- 64位系统中IIS7运行ASP时出现ADODB.Connection 800a0e7a错误的解决方法
- asp代理采集的核心函数代码
- 开始安装 ASP.NET (4.0.30319.18408)。 出现了错误: 0x8007b799 必须具有此计算机的管理员权限才能运行此工具
- c++截取屏幕图片并保存(函数代码实现)
- java io流 运行错误时,保存异常到文件里面
- ...后台代码中如何调用 javascript 函数的问题! - ASP.NET专题(按钮事件中调用JS文件中函数)