设为首页   加入最爱           最新更新:全方位英文文章资料库
 
资料坊搜索: 标题 全文     
ASP中的错误代码技巧
   首页>>YesizeCOM>>电脑技能坊>>ASP>>正文       
 
广告招租,e-mail:yesize@hotmail.com

广告招租,e-mail:yesize@hotmail.com


When error coding in ASP it’s not as rich an environment as other environments. I really only reports
that there was an error with some Numbers and Descriptions. There is only a few ways Ive found to
report these errors back to the end user. Ive seen numerous ways of doing it but found this way the
most graceful. Remember you have to explicitly check after everything that might cause an error. The
main ones Ive experiences are database openings and recordset openings & updates. Here is the sample
code I use to check for errors and then redirect them to the error page and record the error into a
database.. Note that all my error checking is done before the <html> header is written so if there is an
error it can redirect the page without getting an error of Heading already written to the client. If the
html header has been sent to the client you cant do a response.redirect command.

Page 1 A sample Active Server Page form you would use to submit data

<html>

<head>
<title>Enter some data into the field</title>
</head>

<body>

<p>Enter some data into the field.&nbsp; This form is nothing more than representing a
form you would use in real life to submit some data to an ASP page.&nbsp;&nbsp; Note this
isnt going to enter the data into database but it will record the error on an Error page
and then the some information about the Error.&nbsp; &nbsp; </p>

<form method="POST" action="error2.asp" name="form1">
<div align="left"><table border="1" width="340" height="35">
<tr>
<td width="143" height="11">Favorite Computer</td>
<td width="185" height="11"><input type="text" name="T1" size="20"></td>
</tr>
<tr>
<td width="143" height="12">Favorite Game: </td>
<td width="185" height="12"><input type="text" name="T2" size="20"></td>
</tr>
</table>
</div><p>:<input type="submit" value="Submit" name="B1"><input type="reset" value="Reset"
name="B2"></p>
</form>
</body>
</html>

Page 2 the form that is being submitted to and also generates the error that
redirects it to the Standard Error Page (Which is Page 3 in this example)

<%@ Language="vbscript"%>
<%
Hold the page in memory until response.flush command is issued or the </html> tag is processed.
Response.buffer = True

This forces the page to continue to process even though there was an error.
On Error Resume Next

Declare all variables
dim conn
dim rs
set conn = server.createobject("adodb.connection")
conn.open "Example_DSN"

Standard Error coding if the database wont open an error number will return something else but zero
I then capture the error number and description and is passed using the querystring method
Note the description is using the Server.URLEncode function (This will fill any spaces in the
description with
the correct HTML code
If err.number <> 0 Then
Response.Redirect "Error3.asp?number=" & err.Number & "&desc=" & Server.URLEncode(err.description)
End If
set rs = server.createobject("adodb.recordset")
rs.open "TableName" conn 3 3
Explicitly checks to see if there is a problem opening the table
If err.number <> 0 Then
Response.Redirect "Error3.asp?number=" & err.Number & "&desc=" & Server.URLEncode(err.description)
End If

rs.addnew
rs("field1") = request.form("field1")
rs("field2") = request.form("field2")
rs.update

Explicitly checks to see if there is a problem updating the record
If err.number <> 0 Then
Response.Redirect "Error3.asp?number=" & err.Number & "&desc=" & Server.URLEncode(err.description)
End If
rs.close
conn.close
set rs = nothing
set conn = nothing
%>
<html>
<head>
<title>Records been added</title>
</head>

<body>

<p>Your record has been added to the database!</p>
</body>
</html>

Standard Error coding page I use in most all my apps! You also could easily create some kind of database
connection and report the errors your getting!

<%@ language="vbscript"%>
<%
buffers the page on the server
Response.Buffer = True

Declare variables
dim strNumber
dim strdesc
dim conn
dim rs

sets a local variable to the connection string
strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("error.mdb")

Place values that are in the URL into local variables
strNumber = request("Number")
strDesc = request("Desc")

Opens the connection string and recordset object to record the error in a database
set conn = server.createobject("adodb.connection")
conn.open strconn
set rs = server.createobject("adodb.recordset")
rs.open "tblError", conn, 2, 2
rs.addnew
rs("ErrNumber") = strNumber
rs("ErrDesc") = strDesc
rs("timeoccurred") = now()
rs.update
rs.movelast

Puts the generated ID into a local variable
strID = rs("id")
rs.close
set rs = nothing
conn.close
set conn = nothing

Clear errors collections
err.clear

%> </p>

<html>
<head>
<title>Error page</title>
</head>
<body>

<h1>An Error has occurred</h1>
Writes out the generated Number that is received from the database
Idea you also could format an email message with this id to report the error to someone
<h2>Error ID is:<% = strID %></h2>

<h3>The Error Number is:</h3>
<i><% = strNumber %>
</i>

<h3>The Error Description is:</h3>
<i><% = strDesc %>
</i>

<h3>Please report this error to the webmaster</h3>
<b><a href="mailto:webmaster@someurl.com">

<p>Click here to send an email please report the Error Number and Description</a></b> </p>
</body>
</html>


上一篇:产生一个密码,并记录到数据库,然后发送给用户 下一篇:如何使ASP输出结果不支持html语法

版权说明:作品来源于网上,版权归作者所有,如果无意中侵犯了您的版权,请来信告知,本站将在3个工作日内删除。yesize@hotmail.com
  热门小游戏分类 
射击小游戏 连连看小游戏
台球小游戏 成人小游戏
CS小游戏 化妆小游戏
赛车小游戏 休闲小游戏
篮球小游戏 换装小游戏
儿童小游戏 牛牛小游戏
麻将小游戏 冒险小游戏
美媚小游戏 益智小游戏
体育小游戏  
Society Recreation & Sports
Travel & Leisure Communications
Vehicles Computers
Fashion Arts & Entertainment
Reference & Education Disease & Illness
Writing & Speaking Politics
Product Reviews Food & Beverage
Finance Internet Business
Self Improvement Home & Family
Health & Fitness Business
最新更新内容
警惕“公务员报考热”背
公务员考试不是丈母娘考
一名新公务员的自白:我
公务员考脑筋急转弯与挂
北努斗:2006行政能力测
大讨论:06行测BT题目大
过来人回忆:当年,我也
一家之言:公务员热折射
公务员考试申论要是有正
数十万大学生走进公务员
      粤ICP备05005424         Copyright ©2000 - 2004 Yesize.COM