当前位置: 首页 > 图文教程 > 网络编程 > ASP > 处理Asp中的错误

ASP
asp生成三维饼图的函数
ASP下的简洁的多重查询的方法与函数 真不错
发一个ASP的ADODB类代码
A利用ASP小偷和Google实现在线翻译功能的代码
ASP类型网站结合动网论坛会员的方法
Asp下实现多表单域无组件文件上传的实例
asp制作中常用到的函数库集合
易心asp分页类 v1.0
asp中xmlhttp组件发包
检测是否为数字类型的asp代码
可以获得文件的文件名的asp函数
用asp实现访问远程计算机上MDB access数据库文件的方法
用ASP实现写IIS日志的代码
asp在IE浏览器中下载服务端上的各类文件的实现方法
asp汉字中文图片验证码的实现代码
asp WAP获取手机终端信息的一段代码
asp取得数组中的最大值的方法
用asp实现的截取指定格式字符串的代码
asp jmail发邮件 详细解析
ASP编程中连接数据库和数据库操作的常用代码

ASP 中的 处理Asp中的错误


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 121 ::
收藏到网摘: n/a

       处理Asp中的错误
  
  You just finished your ASP application in time, barely making the dealine! As you upload the final version to the webserver, you receive an email from your supervisor indicating that he''s ready for your demo. You confidently stride into his office and give him instructions on accesses the application through the Intranet.
  
  Your boss comes to the first page, and is asked to enter his name. You''ve created a slick, customized feel to the site, recording the user and his or her preferences in a database. Your boss types in his name, "The Pointy Haired Boss," and hits the submit button. Instead of being taken to the next page, he sees the following text pop up on the screen:
  
  Microsoft OLE DB Provider for ODBC Drivers error '' 80004005'' [Microsoft][ODBC Access 97 ODBC driver Driver] syntax wrong near ''
  
  Please note that I just made this error message up, so, please, no emails asking about how one gets this error by entering his name!
  
  You get one of those looks from your boss, a look that says, "I hope you weren''t expecting a positive performance review."
  
  There''s nothing worse to an end user than to see those dreaded ADO errors. They are misformatted, cryptic, and leave the user wondering what they are suppose to do. Your average end user doesn''t know ODBC from OLE. So how can you prevent these nasty error messages?
  
  First you must insert at the top of your ASP page:
  
  
  <% On Error Resume Next %>
  This will tell ASP to just skip over any errors, instead of halting execution and printing out a nasty error message. You may be tempted to leave it at this, although if you do, and errors occur, your users won''t be aware of them. They will think their information was correctly saved, when in actuality it wasn''t due to an ADO error.
  
  What, then, do we want to do if there is an error? Well, the idea situation would be to let the end user know that an error had occurred and will be worked on, and automatically email technical support with the ADO error messages. So that is what we will do!
  
  The question now is how to we "trap" errors? Well, after any ADO call that accesses the database, we will want to put the following lines:
  
  
  
  If Err.number <> 0 then
   TrapError Err.description
  End If
  
  You will want to put this after all ADO calls that communicate directly with the database. This includes ConnectionObject.Open, ConnectionObject.Execute, and RecordsetObject.Open. Now, you may be wondering where the sub TrapError is defined: we''re about to do that. Create a file called ErrorHandler.asp and put it in your /include or /scripts directory. In ErrorHandler.asp, we will have the following subs:
  
  
  TrapError
  ProcessErrors
  Let''s look at the code for ErrorHandler.asp:
  
  
  
  <%
  Dim strErrorMessage
  Dim bolErrors
  
  ''Initialize variables
  strErrorMessage = "" ''The error messages for tech. support
  bolErrors = False ''Have we found any errors yet?
  
  ''Now our two subs
  sub TrapError(strError)
   bolErrors = True ''Egad, we''ve found an error!
  
   strErrorMessage = strErrorMessage & strError & ", "
  end sub
  
  
  
  ''If there are any errors, this function will email tech. support
  sub ProcessErrors()
   if bo