亚洲人成网站在线播放2019 _日韩国产欧美精品_久久夜色精品国产欧美乱_在线视频福利一区

當前位置:首頁 > 網站舊欄目 > 學習園地 > 程序開發教程 > ASP錯誤處理

ASP錯誤處理
2010-01-17 10:40:09  作者:  來源:
簡單介紹
asp是很簡單的,以至于許多的研發者不會去思考錯誤處理。錯誤處理能夠讓您的應用程式更加合理。我看到過很多個用asp編寫的商業網站,大多數都忽略了錯誤處理。
錯誤的類型
有三種主要的錯誤類型:
編譯錯誤:
這種錯誤出現一般都是代碼的語法問題。因為編譯錯誤而導致辭asp停止運行。
運行錯誤
這個錯誤是發生在您準備運行asp時的。例如:假如您試圖給一個變量賦值,但是卻超出了該變量允許的范圍。
邏輯錯誤
邏輯錯誤是最難被發現的,這種錯誤經常是一種結構錯誤,電腦是發現不了的。這就需要我們徹頭徹尾地檢查我們的代碼。
因為編譯錯誤一般是和邏輯錯誤一起發生的,一般都能顯示出來,所以我們擔心的就只是運行錯誤。他都終止asp的運行,而且給用戶丟下一堆很不友好的文字
那么我們要怎樣處理運行錯誤呢!?我們先來看看,asp唯一提供給我們的錯誤命令---on error resume next(這里提醒一下初學者,在asp中只有on error resume next語句,沒有on error resume goto語句)
假如您不使用on error resume next語句的話,一切運行錯誤都會發生,這個是致命的,那么就會有一段錯誤代碼“展現”給用戶,而且asp程式也會停止。

下面就是個錯誤代碼:


microsoft ole db provider for odbc drivers error 80004005
[microsoft][odbc driver manager] data source name not found and no default driver specified
/test.asp, line 60


當我們在程式最上面使用on error resume next語句時,任何的錯誤都會被忽略,程式會自動執行下一條語句。這樣程式就會完全執行,出錯后用戶也不會看到出錯信息。但是這樣也有不好的地方,那就是假如程式沒有按照您想像的執行的話,您就很難找到到底是哪里出了問題,所以您就得在必要的地方對錯誤進行處理。
處理錯誤
在asp中,處理錯誤的最好的辦法就是在程式最底端放上代碼來處理錯誤。我也推薦在每個asp程式都使用緩沖區。這樣的話,假如錯誤發生,頁面就會停止,頁面內容也會被清除,這樣用戶就不會看到錯誤信息,對您們的抱怨也就少了!下面是個例子:
<%@ language="vbscript" %>
<% 配置buffer為true
response.buffer = true
開始錯誤處理
on error resume next
%>
<% 錯誤處理
if err.number <> 0 then
清除頁面
response.clear
顯示錯誤信息給用戶
%>
<html>
<head>
<title></title>
</head>
<body bgcolor="#c0c0c0">
<font face="arial">an error occurred in the execution of this asp page<br>
please report the following information to the support desk<p>
<b>page error object</b><br>
錯誤 number: <%= err.number %><br>
錯誤信息: <%= err.description %><br>
出錯文檔: <%= err.source %><br>
出錯行: <%= err.line %><br>
</font>
</body>
</html>

<%end if%>


您們上面看到了,我首先配置on error resume next ,這樣出現錯誤就不會影響程式的執行。

錯誤處理和數據庫
在錯誤處理中加入數據庫的執行是很復雜的。假若我們有一個程式,有很多的命令去向數據庫中添加記錄,假如insert/update在程式的最底部執行,假如我們前面又錯誤發生,那就完了!我們就會向數據庫中添加了一個錯誤的信息。因為我們用了on error resume next 一切的錯誤都被忽略了!即使前面出錯,程式依舊會向數據庫中添加數據的。
為避免這種情況,我們就先得做些手腳,正確處理的方法如下:

if err.number = 0 and objconnection.errors.count = 0 then

這里才能執行語句,因為沒有錯誤
set rstresults = dbdata.execute(txtsql)

end if



更多高級的處理辦法
當一個錯誤發生時,您們也能夠顯示更多的錯誤信息。下面是同時處理數據庫和頁面錯誤的例子,有了他我們一下就能發現我們程式中的任何錯誤。(由于有些地方我覺得英文更能說時問題,所以沒有翻譯)。
<%
if err.number <> 0 then
response.clear
select case err.number
case 8 指定錯誤的number
在這里處理自定義錯誤

case else 一般錯誤

if isobject(objconnection) then
if objconnection.errors.count > 0 then
%>

<b>database connection object</b>

<% for intloop = 0 to objconnection.errors.count - 1 %>

error no: <%= objconnection.errors(intloop).number %><br>
description: <%= objconnection.errors(intloop).description %><br>
source: <%= objconnection.errors(intloop).source %><br>
sqlstate: <%= objconnection.errors(intloop).sqlstate %><br>
nativeerror: <%= objconnection.errors(intloop).nativeerror %><p>

<% next
end if

end if
if err.number <> 0 then
%>

<b>page error object</b><br>
error number <%= err.number %><br>
error description <%= err.description %><br>
source <%= err.source %><br>
linenumber <%= err.line %><p>

<% end if
end select
end if
%>


上面的例子讓我們一下了處理了很多在數據庫中出現的問題,這個在我們日常編程也是常用的!我們也應該看到那個select case 語句,他能讓我們來處理特定的錯誤。
redirect 和錯誤處理
有一點我們就當注意一下,就是我們常用到的redirect對象,假如一個頁面中出現了redirect對象,那么錯誤處理就失去了意義。所以在轉向之前我們還得處理一下,如下:

if err.number = 0 and objconnection.errors.count = 0 then


response.clear
response.redirect ?lt;url here>?

end if



把代碼變得更整齊
為了讓代碼變得更整齊,首先把錯誤處理的文檔放在一個包含文檔中。這樣您就能夠在任何文檔中使用他。這樣修改也方便。
在您程式的最上方加入(當然在語言聲明之后)on error resume next語句。
在您執行sql以前進行錯誤檢查。
使用redirect以前也要進行錯誤處理。
讓您處理錯誤的包含文檔在代碼的最上面
安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢
相關熱詞搜索:錯誤 處理
亚洲人成网站在线播放2019 _日韩国产欧美精品_久久夜色精品国产欧美乱_在线视频福利一区
国内精品小视频在线观看| 91久久国产自产拍夜夜嗨| 国产精品久久二区| www日韩中文字幕在线看| 久久免费成人精品视频| 成人国产在线看| 精品日产一区2区三区黄免费 | 中文字幕乱码一区二区三区| 久热精品在线视频| 精品国产区在线| 国产a一区二区| 国产成人小视频在线观看| 国产精欧美一区二区三区| 91精品综合视频| 91精品在线观看视频| 操人视频欧美| 国产精品99久久久久久人 | 91精品久久久久久蜜桃| av免费观看网| 成人国产在线看| 99免费在线观看视频| 91精品综合久久| 久久福利一区二区| 国产精品区一区二区三含羞草 | 午夜精品一区二区三区在线视| 亚洲精品中文字幕在线| 手机看片福利永久国产日韩| 欧美牲交a欧美牲交| 国产免费观看久久黄| 91国产丝袜在线放| 久久精品国产精品亚洲| 久久777国产线看观看精品| 夜夜爽www精品| 无码少妇一区二区三区芒果| 欧美中文字幕视频在线观看| 国产专区精品视频| 久久久免费在线观看| 日韩在线中文字幕| 蜜月aⅴ免费一区二区三区| 亚洲午夜精品久久久久久人妖| 天堂v在线视频| 精品91一区二区三区| www亚洲国产| 国产精品无码专区av在线播放| 伊人久久在线观看| 欧美日韩高清在线一区| av动漫在线免费观看| xvideos亚洲| 欧美激情伊人电影| 欧美性久久久久| 97精品一区二区三区| 久久久精品国产一区二区| 一本二本三本亚洲码| 女女同性女同一区二区三区91| 99在线影院| 国产精品国语对白| 日韩人妻一区二区三区蜜桃视频| 国产日韩成人内射视频| www.美女亚洲精品| 亚洲日本无吗高清不卡| 国产综合色一区二区三区| 国产激情久久久| 欧美精品生活片| 日本精品性网站在线观看| 成人免费在线网址| 国产精品久久网| 日韩五码在线观看| 91久久精品视频| 国产精品二区在线| 欧美在线日韩精品| 久久99精品久久久久久水蜜桃| 中文字幕欧美日韩一区二区| 国内少妇毛片视频| 日韩中文字幕免费| 日本乱人伦a精品| 91精品视频在线看| 中文字幕久精品免| 国内精品视频一区| 久精品国产欧美| 少妇熟女一区二区| 91久久精品久久国产性色也91| 欧美区二区三区| 国产专区在线视频| 国产精品视频不卡| 欧洲成人在线视频| 久久66热这里只有精品| 欧美一级免费播放| 国产二级片在线观看| 无码人妻精品一区二区蜜桃网站| www.浪潮av.com| 亚洲国产精品久久久久爰色欲| 国产精品永久免费观看| 国产精品国产三级国产aⅴ浪潮| 人妻av无码专区| 日韩在线观看免费高清| 日韩欧美在线免费观看视频| 九色综合日本| 欧美在线视频网站| 国产精品久久久久久久电影 | 久久av一区二区三区漫画| 少妇免费毛片久久久久久久久| 91精品国产91久久久久久久久| 亚洲精品在线视频观看| 国产精品12p| 欧美专区日韩视频| 国产精品免费观看高清| 麻豆av一区二区| 欧美日韩国产成人在线| 粉嫩av一区二区三区免费观看| 亚洲国产精品一区在线观看不卡| 国产精成人品localhost| 日本精品va在线观看| 国产精品日韩专区| 国产欧美日韩专区发布| 伊人久久大香线蕉午夜av| 91九色国产社区在线观看| 日产精品高清视频免费| 久久精视频免费在线久久完整在线看| 欧美亚洲伦理www| 国产精品久久久影院| 免费国产一区二区| 一区二区不卡在线观看| 久久久久久美女| 国模精品娜娜一二三区| 亚洲最大福利视频| 久久精品日产第一区二区三区精品版 | 99久久精品无码一区二区毛片| 无码少妇一区二区三区芒果| 久久久噜噜噜久噜久久| 欧美激情视频一区二区三区| 中文字幕色一区二区| 久久久久久午夜| 国产女主播一区二区三区| 色阁综合av| 欧美xxxx18性欧美| 久久国产乱子伦免费精品| 国产一区自拍视频| 无码人妻精品一区二区三区66| 国产成人女人毛片视频在线| 不卡影院一区二区| 秋霞无码一区二区| 国产aaa精品| 丝袜亚洲欧美日韩综合| 成人免费无码av| 欧美亚洲丝袜| 大波视频国产精品久久| 国产精品久久久亚洲| 国产精品69久久久| 蜜桃麻豆91| 欧洲成人一区二区| 亚洲啪啪av| 精品国偷自产一区二区三区| 日韩一区二区精品视频| 116极品美女午夜一级| 国产色一区二区三区| 日韩免费观看视频| 亚洲.欧美.日本.国产综合在线 | 国产成人精品久久二区二区91| 国产在线视频2019最新视频| 欧洲亚洲在线视频| 少妇人妻互换不带套| 最新中文字幕久久| 国产精品老牛影院在线观看| 国产suv精品一区二区三区88区| 国产精品亚洲综合天堂夜夜| 国产深夜男女无套内射| 日韩国产小视频| 婷婷亚洲婷婷综合色香五月| 欧美精品激情在线观看| 国产精品大片wwwwww| 精品国产拍在线观看| 久久综合毛片| 国产精品69页| 99国产在线观看| 成人免费视频久久| 国产乱码精品一区二区三区中文| 国模吧无码一区二区三区| 欧美激情第一页在线观看| 日本不卡在线观看| 日韩和欧美的一区二区| 日本精品免费| 日韩av在线播放不卡| 中文字幕中文字幕在线中心一区| 不卡毛片在线看| 欧美xxxx做受欧美| 精品久久久久久久免费人妻| 久久97久久97精品免视看| 欧美激情久久久久| 在线视频亚洲自拍| 在线观看成人一级片| 亚洲乱码中文字幕久久孕妇黑人| 亚洲国产精品视频一区| 亚洲wwwav| 日韩人妻一区二区三区蜜桃视频 | 色乱码一区二区三在线看| 午夜精品在线视频| 日日噜噜噜夜夜爽爽| 日本高清久久天堂| 欧美一区深夜视频| 欧美精品一区二区三区四区五区|