亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASP > 正文

ASP 3.0高級編程(三十一)_ASP教程

2024-05-04 11:03:57
字體:
來源:轉載
供稿:網友

推薦:深入理解ASP中FSO的神奇功能
在ASP中,FSO的意思是File System Object,即文件系統對象。我們將要操縱的計算機文件系統,在這里是指位于web服務器之上。所以,確認你對此擁有合適的權限。理想情況下,你可以在自己的機器

7.1.2 語義或“運行期”錯誤
語法錯誤的發現和處理是令人煩惱的,但在編程中會遇到一些真正“令人興奮”的另一類型的錯誤——語義錯誤(semantic error)或稱“運行期”錯誤(runtime error)。這類錯誤僅當運行一個腳本代碼或其他程序時才會發現。換句話說完整有效的代碼已經通過解釋器或編譯器的解釋或編譯,在執行時產生了錯誤。術語“運行期錯誤”通過是指語義錯誤的結果,也就是說這類錯誤存在于代碼的語義中,當代碼運行時它們才變成可見的。
這種區別來自于這種事實:程序編譯器或解釋器在處理程序代碼之前必須建立一種內部代碼的描述,涉及多種結構開頭和結尾的匹配,以便標明每種結構包含什么內容,然后分析每個句子,以便知道如何執行這個句子。例如,如果在程序代碼中有一個If Then … Else … End If 結構,解釋器或編譯器做的第一步工作就是分析哪些語句在“Then”的部分,哪些在“Else”部分。這一步的目的是,在對結構中的If條件進行測試之后,可以決定該到哪個分支去執行。
編譯器(諸如在編程語言像Visual Basic和C 中見到的那種)和解釋器(諸如用于像VBScript和JScript那樣的腳本語言的解釋器)之間真正區別在于:編譯器不試圖運行程序代碼,而是在對源程序進行兩次預處理后,形成二進制指令或符號代碼,并形成一個.exe文件或.dll文件。解釋器不含有代碼的文件,而是在運行時逐步執行。
1. 使運行停止的錯誤
如果程序中含有一個語義錯誤,通常在運行時可得到提示。如果幸運的話,當錯誤發生時,程序會停止,這樣可以容易地找出錯誤所在。例如,下面這段程序定義了一個有六個元素的數組。
<%
Dim arrValues(5) 'to hold six elements, indexed from 0 to 5
ArrValues(6) = "Whoops, got an error"
%>
如果試圖讀或設置下標為6的元素值,可以得到一個運行期錯誤,如圖7-7所示:

圖7-7 程序執行結果6
注意這里的錯誤類型是“runtime”(相當于語義)錯誤,而不是語法錯誤。錯誤信息顯示了錯誤所在行數和錯誤的描述,有助于我們比較容易地找到相應的錯誤。但這是一個簡單的例子,在更復雜的程序代碼中,這種錯誤可能出現在一些遍歷一些值并把它們加到一個數組中程序中。如下所示:
<%
Dim arrValues(5) ' to hold six elements
For intLoop = 0 To intListCount ' the number of items in some list
arrValues(intLoop) = Request.Form("SelectedItems")(intListCount)
Next
%>
這種情況下,很可能是得到了過多的列表條目,或者是數組的索引不夠,根據代碼的要求,可以判斷是那種錯誤,并且能夠通過增加數組大小來解決這個錯誤。
<%
Dim arrValues(10) ' to hold eleven elements
For intLoop = 0 To intListCount ' the number of items int some list
arrValues(intLoop) = Request.Form("SelectedItems")(intListCount)
Next
%>
或者相應地設置循環的參數來解決處理這個錯誤。
<%
Dim arrValues(5) ' to hold six elements
IntArrayMax = intListCount
If intArrayMax > 5 Then intArrayMax = 5
For intLoop = 0 To intArrayMax ' only add the first six items
arrValues(intLoop) = Request.Form("SelectedItems")(intListCount)
Next
%>
許多其他運行期錯誤能夠使網頁運行停止,諸如一些組件或對象的實例化失敗,原因是有ProgID錯誤,或者是因為組件沒有正確安裝。在這些情況下,結果總是給出“ActiveX Cannot Create Object”錯誤提示信息,后面跟著調用Server.CreateObject方法的行號。
2. 產生錯誤結果的錯誤
上面提到,如果遇到一個使程序代碼停止的運行期錯誤,我們可能是幸運的。但是另一種情況是程序能很好地執行,好像什么也沒有發生,最后產生一個錯誤的結果。這是最難發現和解決的錯誤,因為意識不到哪里出錯了。例如,假設有一個網頁,這個網頁把用戶的生日作為日期型的值,并且單獨顯示日期元素(可以把它們作為三個條目加到一個數據庫中)。
<%
' get the value from the Request and display it
datBirthdate = Request.Form("Birthdate")
Response.Write "The value you entered is: " & datBirthdate & "<P>"

' get the individual date elements
intDay = Day(datBirthdate)
intMonth = Month(datBirthdate)
intYear = Year(datBirthdate)

' and display them
Response.Write "Day: " & Cstr(intDay) & "<BR>"
Response.Write "Month: " & Cstr(intMonth) & "<BR>"
Response.Write "Year: " & Cstr(intYear) & "<BR>"
%>
圖7-8是結果,是用美國日期風格月/日/年顯示的,好像一切都沒有問題。

圖7-8 顯示生日的屏幕
然而如果輸入一個非法日期,或者讓輸入文本框空著,便得到一個運行期錯誤,如圖7-9所示:

圖7-9 錯誤提示屏幕
(1) 如果不是一位JScript專家
在尋找錯誤時,這不是一個大問題,因為我們能夠迅速發現為什么會出現錯誤。事實上網頁停止運行有助于我們跟蹤錯誤。然而意外的錯誤可能會發生。例如,用JScript重寫程序代碼,由于不是一位JScript專家,里面出現一些細小錯誤。
<%
// get the value from the Request and display it
var datBirthdate = new Date(Request.Form("Birthdate"));
Response.Write("The value you entered is: " datBirthdate "<P>");

// get the individual date elements
intDay = datBirthdate.getDay();
intMonth = datBirthdate.getMonth();
intYear = datBirthdate.getYear();

// and display them
Response.Write("Day: " intDay.toString() "<BR>");
Response.Write("Month: " intMonth.toString() "&

分享:用ASP實現就MP3曲目信息的操作全攻略
先簡單說一下MP3的ID3 標記,因為主要是操作這個玩意MP3最開始的時候沒有我們今天看到的那樣,有歌手、年代,專集等等信息只有一些簡單的參數如yes/no來表示是不是privated或者copyrighted等

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久人人爽国产| 78色国产精品| 欧美高清在线视频观看不卡| 日韩福利在线播放| 深夜福利日韩在线看| 亚洲激情 国产| 一区二区三欧美| 亚洲精品久久久久中文字幕二区| 国产精品美女在线观看| 久久综合五月天| 欧美视频免费在线观看| 亚洲一级免费视频| 亚州成人av在线| 91超碰中文字幕久久精品| 亚洲深夜福利视频| 欧美日韩国产123| …久久精品99久久香蕉国产| 国产在线日韩在线| 亚洲高清av在线| 欧美激情欧美激情| 国产美女高潮久久白浆| 亚洲图片欧美日产| 国产91色在线|| 国内精品久久久久久久| 不卡av电影院| 久久成年人视频| 日本久久久久久| 欧美激情亚洲自拍| 欧美中文字幕在线视频| 亚洲欧美日韩一区二区三区在线| 国产丝袜高跟一区| 欧美大片va欧美在线播放| 国产精品视频午夜| 日韩女优在线播放| 深夜福利91大全| 亚洲91av视频| 亚洲精品自拍视频| 亚洲成人久久一区| 欧美黑人一区二区三区| 亚洲伊人第一页| 国产欧美久久久久久| 精品一区精品二区| 亚洲精品少妇网址| 91精品视频免费| 国产精品日韩av| 国产三级精品网站| 米奇精品一区二区三区在线观看| 亚洲国产精品专区久久| 夜夜嗨av一区二区三区免费区| 国产成+人+综合+亚洲欧洲| 精品成人在线视频| 欧美成人免费观看| 久久精品视频在线观看| 国产精品久久久久久网站| 亚洲人成电影网| 国产成人拍精品视频午夜网站| 精品女厕一区二区三区| 国产福利视频一区二区| 欧美大片大片在线播放| 不卡av电影在线观看| 国产a∨精品一区二区三区不卡| 成人黄色免费看| 国产精品一二三视频| 欧美在线激情视频| 性视频1819p久久| 激情久久av一区av二区av三区| 成人免费视频在线观看超级碰| 日韩中文字幕网| 亚洲精品美女在线观看| 亚洲精品国产综合区久久久久久久| 亚洲激情久久久| 97在线免费观看视频| 国产成人av在线| 亚洲直播在线一区| 精品久久中文字幕久久av| 欧美在线视频观看免费网站| 国产精品一区二区三区久久| 91视频国产精品| 欧美视频在线免费看| 欧美在线观看日本一区| 成人精品一区二区三区电影黑人| 在线视频国产日韩| 国产精品流白浆视频| 97精品免费视频| 成人网在线观看| 久久久欧美一区二区| 一区二区三区www| 538国产精品一区二区在线| 97久久伊人激情网| 欧美成人黑人xx视频免费观看| 中文字幕自拍vr一区二区三区| 91久久精品国产91性色| 欧美在线视频免费播放| 国产精品一区电影| 亚洲成人国产精品| 亚洲精品色婷婷福利天堂| 97超碰蝌蚪网人人做人人爽| 精品性高朝久久久久久久| 成人网在线免费看| 久久久99久久精品女同性| 成人激情在线观看| 日韩一级黄色av| 日韩精品久久久久久福利| 亚洲欧美在线免费| 自拍偷拍亚洲在线| 国产精品白丝jk喷水视频一区| 91黑丝高跟在线| 国产成人精品日本亚洲| 欧美日韩福利电影| 亚洲综合在线中文字幕| 亚洲国产高潮在线观看| 久久成人在线视频| 国产精品国内视频| 亚洲第一偷拍网| 中文字幕一区二区精品| 久久久久久这里只有精品| 国产成人亚洲精品| 亚洲第一视频网站| 亚洲国产精品99久久| 国产日韩欧美91| 91日本视频在线| 26uuu另类亚洲欧美日本一| 5566成人精品视频免费| 成人午夜黄色影院| 日韩av在线精品| 欧美精品videosex性欧美| www.日本久久久久com.| 国产成人精品最新| 成人av在线网址| 亚洲一区二区黄| 91精品久久久久久久久久| 国产国语刺激对白av不卡| 久久久人成影片一区二区三区| 米奇精品一区二区三区在线观看| 91成人性视频| 欧美限制级电影在线观看| 神马久久桃色视频| 色妞色视频一区二区三区四区| 91精品久久久久久久久久另类| 91精品在线国产| 一本色道久久88综合亚洲精品ⅰ| 亚洲人在线视频| 亚洲欧美中文字幕| 久久九九免费视频| 中文字幕日韩在线视频| 久久精视频免费在线久久完整在线看| 38少妇精品导航| 色琪琪综合男人的天堂aⅴ视频| 欧美成人精品一区二区三区| 91人人爽人人爽人人精88v| 国产精品精品视频| 永久免费精品影视网站| 亚洲精品乱码久久久久久按摩观| 久久香蕉精品香蕉| 色噜噜国产精品视频一区二区| 国产成人免费91av在线| 欧美精品久久久久久久免费观看| 91在线观看免费观看| 国产视频久久久| 97在线观看视频国产| www.欧美免费| 理论片在线不卡免费观看| 国产69久久精品成人| 精品国产91久久久|