ASP网页设计ASP 3.0初级编程(三十三)
强大的可扩展性。ASP具有强大的扩展性,可以实现与多种网络、硬件设备的连接:通过专用的通讯线路远程接入企业;通过远程拨号服务器为远程拨号客户提供服务;通过WAP为移动电话互联网客户服务。编程|初级7.4.2VBScript毛病处置在VBScript中,可使剧本注释器不处置其找到的任何毛病,而且利用OnErrorResumeNext语句持续运转下个语句。一旦这个语句已被处置,剧本引擎将持续运转前面的程序,而不睬会已发明的任何毛病。但是,这类历程仅合用于按次实行语句的情况,换句话说,不合用于嵌套的函数或子程序。
1.利用OnErrorResumeNext语句
一个毛病在子程序中呈现时,假如没有运转OnErrorResumeNext语句,那末毛病将被交给挪用它的情况,这个历程一向反复到找到运转OnErrorResumeNext语句的情况持续运转,大概找到缺省的剧本毛病处置器,把毛病交给ASP而且IIS显现缺省毛病网页。这个历程如-16所示:
-16毛病处置历程
这类毛病挪用链意味着能够创立避免使程序中断运转的运转期毛病的函数和子程序。假如在子程序的开首安排一个OnErrorResumeNext语句,任何运转期毛病会中断这个子程序的运转,可是挪用该子程序的程序将持续运转而不会引发网页的中断。
比方,假如必要向一个文件中写进字符串,能够经由过程一个自力的函数对文件举行会见文件,避免毛病中止全部程序的运转:
createafilenamedstrFileName,overwritinganyexistingonewiththatname
andwritesstrContentintoitthenclosesthefile
returnsTrueifitsucceeds,orFalseonanyerror
FunctionWriteNewFile(strFileName,strContent)
OnErrorResumeNextturnoffthedefaulterrorhandler
WiteNewFile=Flasedefaultreturnvalueoffunction
SetobjFSO=CreateObject("Scripting.FileSystemObject")
IfErr.Number=0ThenSetobjFile=objFSO.CreateTextFile(strFileName,True)
IfErr.Number=0ThenobjFile.WriteLinestrContent
IfErr.Number=0ThenobjFile.Close
IfErr.Number=0ThenWriteNewFile=True
EndFunction
注重下面的程序在试图处置每一个程序语句之前,先反省VBScript的Err工具的Number属性。假如这个值为0(还没有呈现毛病),那末就可以够持续对文件的定进和创立历程。但是假如毛病的确产生了,剧本引擎将设置Err工具的属性的值,而且持续处置下一行。
只需不引发毛病而能一般运转,函数的前往值将设置为“True”。不然函数将前往“False”。在编程中能够在对其举行测试今后,再利用该函数和接纳其他举动。
上面是一个复杂的例子,我们但愿对义务的第一部分接纳一个自力的函数,以便能更准确地分辨堕落误发生在那边。如许,调试时也更简单浏览代码。在页面的主程序中,能够挪用三个独自的函数。
IfCreateNewFile(strFileName)Thencreatethenewfile
Response.Write"Newfilesuccessfullycreated<BR>"
IfWriteContent(strContent)Thenwritethecontent
Response.Write"Contentwrittentofile<BR>"
Else
Response.Write"ERROR:Failedtowritetothefile<BR>"
EndIf
IfCloseFile(strFileName)Then
Response.Write"Fileclosed<BR>"
Else
Response.Write"ERROR:Failedtoclosethefile<BR>"
EndIf
Else
Response.Write"ERROR:Failedtocreatethenewfile<BR>"
EndFunciotn
2.利用OnErrorGoto0
在ASP2.0(只管没有文档纪录)和ASP3.0中,也能利用OnErrorGoto0语句恢复缺省的毛病处置举动。在运转这个语句后,产生的运转期毛病将招致缺省毛病处置,在情况链中反省每一个嵌套的程序,直到主页面代码。假如没有其他的情况封闭缺省毛病处置,网页的实行将中断并显现IIS缺省毛病网页。
3.VBScriptErr工具
在后面的例子中,封闭缺省毛病处置时,经由过程反省VBScriptErr工具的Number属性,检察毛病是不是已呈现。Err工具存储了关于运转期毛病的信息,表7-3和表7-4给出了VBScriptErr工具供应的办法和属性。
表7-3VBScriptErr工具的办法
方法
说明
Clear
扫除以后一切的Err工具设置
Raise
发生一个运转期毛病
表7-4VBScriptErr工具的属性
属性
说明
Description
设置或前往一个形貌毛病的字符串
Number
(缺省)设置或前往指定一个毛病的值
Source
设置或前往发生毛病的工具的称号
利用这些属性能够反省产生了哪一种毛病。比方,能够依据毛病号接纳分歧的措施,也能够用Source和Description的属性值为用户供应毛病信息,大概传送到一个文件中。
也能够利用Err工具天生一个毛病。为何要做这些呢?由于偶然想把一个定制的毛病动静传送给用户。能够把Err工具的属性设置成所但愿的任何值。然后挪用Raise办法来发生这类毛病,如许做会中断程序的运转,而且把毛病沿挪用链向回传送。
上面的例子显现了在服务器磁盘上读取一个文本文件时,怎样处置毛病。注重怎样利用常数vbObjectError,以断定所选择的毛病号不会和一个已存在的毛病号搅浑。经由过程把恣意选择的毛病号加到此常数中,就可以够包管和预界说的毛病不搅浑。
FunctoinReadThisFile(strFileName)returnsthecontentasastring
OnErrorResumeNext
ReadThisFile=""defaultreturnvalueoffunction
SetobjFSO=CreateObject("Scripting.FileSystemObject")
SetobjFile=objFSO.OpenTextFile("strFileName",ForReading)
SelectCaseErr.Number
Case0OK,takenoaction
Case50,53standardfileorpathnotfounderrors
createcustomerrorvaluesandraiseerrorbackupthecallchain
intErrNumber=vbObjectError+1073customerrornumber
strErrDescrip</p>下一页
写软件都是想的时间比写的时间要长的.如果反过来了就得看看是什么原因了.另外大家可以回去问问公司里的小MM.(一般企业里,跟你们交付软件接触得最多的是她们) ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。 ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。 我想问如何掌握学习节奏(先学什么再学什么)最好详细点? ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
页:
[1]