ASP編程入門進(jìn)階(十二):ASP技巧累加(一)
更新時間:2007年01月03日 00:00:00 作者:
一、On Error 語句
該語句的作用是:啟用或禁用錯誤處理程序。一般用法如下:
如果在您的代碼中未使用On Error Resume Next語句,所發(fā)生的運(yùn)行時錯誤將顯示錯誤信息,同時,代碼的執(zhí)行也隨之終止。
但當(dāng)你采用它時,就會使程序按照產(chǎn)生錯誤的語句之后的語句繼續(xù)執(zhí)行,或是按照最近一次所調(diào)用的過程(該過程含有 On Error Resume Next 語句)中的語句繼續(xù)運(yùn)行。這個語句可以不顧運(yùn)行時錯誤,繼續(xù)執(zhí)行程序,之后您可以在過程內(nèi)部建立錯誤處理例程。
在調(diào)用另一個過程時,On Error Resume Next 語句變?yōu)榉腔顒拥?。所以,如果希望在例程中進(jìn)行內(nèi)部錯誤處理,則應(yīng)在每一個調(diào)用的例程中執(zhí)行 On Error Resume Next 語句。
如果您已啟用 On Error Resume Next 錯誤處理程序,則可使用On Error GoTo 0禁用錯誤處理程序。
[Ctrl+A 全部選擇進(jìn)行拷貝 提示:可先修改部分代碼,再點(diǎn)擊運(yùn)行]
附注:要在代碼中生成運(yùn)行時錯誤,請用Err對象的Raise方法。
這樣的情況經(jīng)常在調(diào)試程序的時候看見,比如分別調(diào)試下面兩程序則會顯示。
1,err1.asp
2,err2.asp
調(diào)試的時候也就是
但當(dāng)你在首行添加了On Error Resume Next之后,發(fā)現(xiàn)不報錯提示,表明內(nèi)部錯誤處理完成。
但進(jìn)行下列程序的時候發(fā)現(xiàn)
3,err3.asp
這時運(yùn)用了On Error GoTo 0,則會顯示出錯信息,只不過不是第三行,而是第五行的cnbruce.com錯誤對象了。
通過上面幾個例子,相信你對此語句應(yīng)該有所領(lǐng)悟了。接著再看。
二,Option Explicit 語句
該語句的作用是:強(qiáng)制要求顯式聲明腳本中的所有變量。
所謂的顯式聲明,就是要使用 Dim、Private、Public 或 ReDim 語句聲明所有變量。如果在程序中試圖使用未經(jīng)聲明的變量名,則會出現(xiàn)錯誤。用該語句可以避免拼錯已存在的變量名稱。對于作用范圍不清楚的變量,使用此語句也可避免發(fā)生混淆。
當(dāng)然,如果要使用 Option Explicit,該語句必須出現(xiàn)在腳本的任何其他語句之前。
4,err4.asp
報錯信息如下:
再加一句:ASP中對VBScript提供了強(qiáng)勁的支持,能夠無縫集成VBScript的函數(shù)、方法,這樣給擴(kuò)展ASP的現(xiàn)有功能提供了很大便利。由于ASP中已經(jīng)模糊了變量類型的概念,所以,在進(jìn)行ASP與VBScript交互的過程中,很多程序員也慣于不聲明VBScript的變量(我也是-_-!,以后注意),這樣加重了服務(wù)器的解析負(fù)擔(dān),進(jìn)而影響服務(wù)器的響應(yīng)請求速度。
鑒于此,我們可以象在VB中強(qiáng)制用戶進(jìn)行變量聲明一樣在VBScript中強(qiáng)制用戶進(jìn)行變量聲明。實(shí)現(xiàn)方法就是:在ASP程序行首放置<% option explicit%>。實(shí)踐也證明,ASP文件中使用“Option Explicit”可以使得程序出錯機(jī)會降到最少,并且會大大提升整體性能。
另外,聲明的變量有個順序的技巧,要么以編譯時間,要么以運(yùn)行時間。聲明的變量都按此順序引用。
三、<%@LANGUAGE="xxx" CODEPAGE="936"%>
一般又分為<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>和<%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%>兩種。
LANGUAGE="VBSCRIPT"和LANGUAGE="JAVASCRIPT",申明ASP當(dāng)前使用的編程腳本分別為VBSCRIPT和JAVASCRIPT。一般在程序第一行進(jìn)行申明。當(dāng)使用該腳本申明后,以下所有程序運(yùn)用全得符合該腳本語言的所有語法,兩者不能混淆使用,否則出錯。我們在寫ASP時,一般不做限定,因為經(jīng)常會在一ASP頁面寫不同的腳本,當(dāng)然這也是以犧牲執(zhí)行效率為代價的。
CodePage:可讀/可寫。整型。定義用于在瀏覽器中顯示頁內(nèi)容的代碼頁。代碼頁是字符集的數(shù)字值,不同的語言使用不同的代碼頁。例如,ANSI代碼頁為1252,日文代碼頁為932,簡體中文代碼頁為936。一般情況下,當(dāng)你上傳到國外網(wǎng)頁空間,或者提取數(shù)據(jù)庫記錄等出現(xiàn)亂碼時,就采用這種方法解決。
四、絕對基礎(chǔ),一定掌握
程序注釋:
為了養(yǎng)成良好的編程風(fēng)格外,適度的注釋不可少,ASP提供了兩中注釋方式
1、單引號,在單引號之后的這行文字都視為注釋
2、rem 關(guān)鍵詞,在REM后的文字,視為注釋
賦值語句:
ASP中一般變量的賦值語句是 "="
而對象是用 set 語句來賦值的
算術(shù)運(yùn)算符:
+ 加法
- 減法
* 乘法
/ 除法
\ 整數(shù)除法
Mod 余數(shù)
^ 指數(shù)
關(guān)系運(yùn)算符:
= 等于
<> 不等于
< 小于
> 大于
<= 小于等于
>= 大于等于
IS 比較變量是否指向同一對象
邏輯運(yùn)算符:
1、NOT 將邏輯值加以反向
2、AND “和”或者說“且”運(yùn)算
3、OR “或”運(yùn)算
4、XOR “異或”運(yùn)算
5、EPV 判斷兩個表達(dá)式邏輯相等,兩者相同結(jié)果為真,否則為假
6、IMP 判斷兩個表達(dá)式邏輯上是否相關(guān)。
字符串運(yùn)算符
ASP只有一個字符串運(yùn)算符 "&",它可以強(qiáng)迫兩個表達(dá)式做字符串連接
變量申明
變量申明必須注意:
1、有效變量名稱不能大于255個字符
2、變量名稱必須一字母開頭
3、在同一個有效范圍內(nèi)變量名稱必須唯一
變量申明 DIM 變量名稱
常數(shù)申明 CONST 常數(shù)名稱=常數(shù)值
該語句的作用是:啟用或禁用錯誤處理程序。一般用法如下:
On Error Resume Next On Error GoTo 0 |
如果在您的代碼中未使用On Error Resume Next語句,所發(fā)生的運(yùn)行時錯誤將顯示錯誤信息,同時,代碼的執(zhí)行也隨之終止。
但當(dāng)你采用它時,就會使程序按照產(chǎn)生錯誤的語句之后的語句繼續(xù)執(zhí)行,或是按照最近一次所調(diào)用的過程(該過程含有 On Error Resume Next 語句)中的語句繼續(xù)運(yùn)行。這個語句可以不顧運(yùn)行時錯誤,繼續(xù)執(zhí)行程序,之后您可以在過程內(nèi)部建立錯誤處理例程。
在調(diào)用另一個過程時,On Error Resume Next 語句變?yōu)榉腔顒拥?。所以,如果希望在例程中進(jìn)行內(nèi)部錯誤處理,則應(yīng)在每一個調(diào)用的例程中執(zhí)行 On Error Resume Next 語句。
如果您已啟用 On Error Resume Next 錯誤處理程序,則可使用On Error GoTo 0禁用錯誤處理程序。
[Ctrl+A 全部選擇進(jìn)行拷貝 提示:可先修改部分代碼,再點(diǎn)擊運(yùn)行]
附注:要在代碼中生成運(yùn)行時錯誤,請用Err對象的Raise方法。
這樣的情況經(jīng)常在調(diào)試程序的時候看見,比如分別調(diào)試下面兩程序則會顯示。
1,err1.asp
<%Err.Raise 6%> |
技術(shù)信息(用于支持人員) 錯誤類型: Microsoft VBScript 運(yùn)行時錯誤 (0x800A0006) 溢出 |
2,err2.asp
<%cnbruce.com%> |
調(diào)試的時候也就是
技術(shù)信息(用于支持人員) 錯誤類型: Microsoft VBScript 運(yùn)行時錯誤 (0x800A01A8) 缺少對象: 'cnbruce' |
但當(dāng)你在首行添加了On Error Resume Next之后,發(fā)現(xiàn)不報錯提示,表明內(nèi)部錯誤處理完成。
但進(jìn)行下列程序的時候發(fā)現(xiàn)
3,err3.asp
<% On Error Resume Next cnbruce.com On Error GoTo 0 cnbruce.com %> |
這時運(yùn)用了On Error GoTo 0,則會顯示出錯信息,只不過不是第三行,而是第五行的cnbruce.com錯誤對象了。
通過上面幾個例子,相信你對此語句應(yīng)該有所領(lǐng)悟了。接著再看。
二,Option Explicit 語句
該語句的作用是:強(qiáng)制要求顯式聲明腳本中的所有變量。
所謂的顯式聲明,就是要使用 Dim、Private、Public 或 ReDim 語句聲明所有變量。如果在程序中試圖使用未經(jīng)聲明的變量名,則會出現(xiàn)錯誤。用該語句可以避免拼錯已存在的變量名稱。對于作用范圍不清楚的變量,使用此語句也可避免發(fā)生混淆。
當(dāng)然,如果要使用 Option Explicit,該語句必須出現(xiàn)在腳本的任何其他語句之前。
4,err4.asp
<% Option Explicit ' 強(qiáng)制顯示聲明變量。 Dim MyVar '聲明變量。 MyVar = 10 '聲明變量不產(chǎn)生錯誤。 MyInt = 10 '未聲明變量產(chǎn)生錯誤。 response.write(MyInt) %> |
報錯信息如下:
技術(shù)信息(用于支持人員) 錯誤類型: Microsoft VBScript 運(yùn)行時錯誤 (0x800A01F4) 變量未定義: 'MyInt' |
再加一句:ASP中對VBScript提供了強(qiáng)勁的支持,能夠無縫集成VBScript的函數(shù)、方法,這樣給擴(kuò)展ASP的現(xiàn)有功能提供了很大便利。由于ASP中已經(jīng)模糊了變量類型的概念,所以,在進(jìn)行ASP與VBScript交互的過程中,很多程序員也慣于不聲明VBScript的變量(我也是-_-!,以后注意),這樣加重了服務(wù)器的解析負(fù)擔(dān),進(jìn)而影響服務(wù)器的響應(yīng)請求速度。
鑒于此,我們可以象在VB中強(qiáng)制用戶進(jìn)行變量聲明一樣在VBScript中強(qiáng)制用戶進(jìn)行變量聲明。實(shí)現(xiàn)方法就是:在ASP程序行首放置<% option explicit%>。實(shí)踐也證明,ASP文件中使用“Option Explicit”可以使得程序出錯機(jī)會降到最少,并且會大大提升整體性能。
另外,聲明的變量有個順序的技巧,要么以編譯時間,要么以運(yùn)行時間。聲明的變量都按此順序引用。
三、<%@LANGUAGE="xxx" CODEPAGE="936"%>
一般又分為<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>和<%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%>兩種。
LANGUAGE="VBSCRIPT"和LANGUAGE="JAVASCRIPT",申明ASP當(dāng)前使用的編程腳本分別為VBSCRIPT和JAVASCRIPT。一般在程序第一行進(jìn)行申明。當(dāng)使用該腳本申明后,以下所有程序運(yùn)用全得符合該腳本語言的所有語法,兩者不能混淆使用,否則出錯。我們在寫ASP時,一般不做限定,因為經(jīng)常會在一ASP頁面寫不同的腳本,當(dāng)然這也是以犧牲執(zhí)行效率為代價的。
CodePage:可讀/可寫。整型。定義用于在瀏覽器中顯示頁內(nèi)容的代碼頁。代碼頁是字符集的數(shù)字值,不同的語言使用不同的代碼頁。例如,ANSI代碼頁為1252,日文代碼頁為932,簡體中文代碼頁為936。一般情況下,當(dāng)你上傳到國外網(wǎng)頁空間,或者提取數(shù)據(jù)庫記錄等出現(xiàn)亂碼時,就采用這種方法解決。
四、絕對基礎(chǔ),一定掌握
程序注釋:
為了養(yǎng)成良好的編程風(fēng)格外,適度的注釋不可少,ASP提供了兩中注釋方式
1、單引號,在單引號之后的這行文字都視為注釋
2、rem 關(guān)鍵詞,在REM后的文字,視為注釋
賦值語句:
ASP中一般變量的賦值語句是 "="
而對象是用 set 語句來賦值的
算術(shù)運(yùn)算符:
+ 加法
- 減法
* 乘法
/ 除法
\ 整數(shù)除法
Mod 余數(shù)
^ 指數(shù)
關(guān)系運(yùn)算符:
= 等于
<> 不等于
< 小于
> 大于
<= 小于等于
>= 大于等于
IS 比較變量是否指向同一對象
邏輯運(yùn)算符:
1、NOT 將邏輯值加以反向
2、AND “和”或者說“且”運(yùn)算
3、OR “或”運(yùn)算
4、XOR “異或”運(yùn)算
5、EPV 判斷兩個表達(dá)式邏輯相等,兩者相同結(jié)果為真,否則為假
6、IMP 判斷兩個表達(dá)式邏輯上是否相關(guān)。
字符串運(yùn)算符
ASP只有一個字符串運(yùn)算符 "&",它可以強(qiáng)迫兩個表達(dá)式做字符串連接
變量申明
變量申明必須注意:
1、有效變量名稱不能大于255個字符
2、變量名稱必須一字母開頭
3、在同一個有效范圍內(nèi)變量名稱必須唯一
變量申明 DIM 變量名稱
常數(shù)申明 CONST 常數(shù)名稱=常數(shù)值
相關(guān)文章
對象標(biāo)記具有無效的 ''MSWC.MyInfo'' ProgID
對象標(biāo)記具有無效的 ''MSWC.MyInfo'' ProgID...2007-02-02用ASP實(shí)現(xiàn)遠(yuǎn)程批量文件改名
用ASP實(shí)現(xiàn)遠(yuǎn)程批量文件改名...2006-06-06ASP上傳圖片功能的又一實(shí)現(xiàn)(OLE對象)
ASP上傳圖片功能的又一實(shí)現(xiàn)(OLE對象)...2007-01-01