- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
14. 程序设计的技巧与秘诀
本章将提供许多处理 Microsoft Windows Script Host(WSH)的有用技巧与秘诀,其中
有些部分已经在前面的章节中介绍过了。他们被组织为一般的主题:执行时期的错误;长
文件名、AT 命令和系统呼叫;使用者对话盒与输出;档案处理;播放音乐;Windows
Shell;以及呼叫 DUN 联机等。
执行时期的错误
VBScript 和 JScript 都提供行内(inline)的错误处理,也就是说您的 Script 可以从会导
致 Script 结束的错误中拦截并取得。在本节中,将概述您在 Script 中使用明确的执行时期
错误处理时所需要知道的知识。
在 VBScript 中处理执行时期的错误
您可以在 VBScript 中藉由使用在执行时期的错误发生之后会导致下一个叙述继续被执
行的 On Error Resume Next 叙述来实作明确的执行时期错误处理。这个叙述允许行内的执行
时期错误处理。(只有语法错误还会被指令引擎报告出来。)
您可以使用 Err 对象来取得错误代码。举例来说,如果 oWSH 是一个指向 WshShell 对
象的对象变量,那么您可以在使用 RegRead 方法时检查可能会被唤起的错误:
valx = oWSH.RegRead(...., xxxx)
If Err 0 Then
.
.
.
如果在第 1 叙述执行时执行时期的错误发生,则 Err 对象的值便不会等于 0。您可以
使用 Err.Number 来取得错误代码,以及使用 Err.Description 来取得错误讯息。在前面的许多
章节中皆使用此技巧来处理执行时期的错误。
您可以使用 On Error GoTo 0 叙述来取消执行时期错误的处理。在这个叙述之后,将换
由指令引擎来处理执行时期的错误。
注意
如同我所说过的,启动行内之执行时期错误的处理将禁止所有不明确的错误讯息,所
以您的 Script 便必须负起侦测与报告执行时期错误的责任。这个方法的危险之处在于某个
难以发现的错误可能会被忘了侦测。即使 Script 包含 Option Explicit 叙述,打字错误的变量
与函数或程序名称也可能不会被报告为错误。相反地,叙述只会失败,而指令引擎则会移
到下一个叙述继续执行。要避免这种风险,在此强烈建议您尽可能越快越好在启动执行时
期错误的处理之后便取消他(使用 On Error GoTo 0)。
在 JScript 中处理执行时期的错误
JScript 在第 5 版和更新版的指令引擎中支持执行时期错误的处理。您可以下面的方式
来使用 try {...} catch (e) {...} 叙述:
try
{
var valx = WSH.RegRead(...., xxxx);
}
catch (e)
{
if (e != 0)
WScript.Echo(在登录存取时发生错误啰!);
}
您必须在叙述的前面设定 try 关键词。您可以将叙述或叙述区块围在大括号里面。如
果执行时期的错误发生,则 catch (e) 叙述便会被呼叫。变量 e 会取得可以被下面的 catch 区
块中的叙述来处理的错误对象。(这些叙述也必须被以大括号给围住。)
在 VBScript 中唤起执行时期的错误
您可藉由使用指令语言提供的方法来唤起您自己的执行时期错误。在 VBScript 中,您
可以使用 Err 对象的 Raise 方法。下面的程序代码会唤起执行时期的错误并显示其错误讯
息:
On Error Resume Next
Err.Clear
Err.Raise 唤起错误
MsgBox 错误代码: Err.Number vbCrLf Err.Description, _
vbOKOnly, VBScript错误讯息
On Error GoTo 0
这个程序代码会模拟溢位错误(代码 6)。您可以使用这个代码段来撰写询问错误代
码并传回错误讯息的 VBScript 程序。
说明
在随书光盘的\WSHDevGuide\Chapter14 文件夹中的 VBScriptError.vbs 会询问错误号码并
显示其错误讯息。所有的错误讯息在〈VBScript 程序语言参考〉文件中也都有说明。但是
由操作系统(或 OLE 或 COM 组件)所造成的错误则无说明。您可以使用正确的 Windows
API 呼叫以便从内部表格中获得这些错误讯息,但是这些技巧已经超出本书所讨论的范
畴。
路径与日期
要存取外部档案,您将需要那些档案的路径。在本节中,我们将测验如何取得目前
Script 档案的文件夹、预设的文件夹或磁盘驱动器。此外也将说明使用日期差值的易犯错
误。
取得 Script 的路径
有些时候知道您 Scr
您可能关注的文档
- 《就业指导课程》补考试卷三.pdf
- 《康尔佳食品生产线环境影响评价报告表》.pdf
- 《蓝莓之夜》经典台词.pdf
- 《类圆锥曲线性质探究》.pdf
- 《李火德族谱》祖系确定与形成.pdf
- 《离骚》原文注音 含注释.pdf
- 《联合国国际贸易法委员会国际商事仲裁示范法》.pdf
- 《林业数据库更新技术规范》.pdf
- 《宽禁带半导体发光材料》3.3氮化物材料的发展2.doc
- 《领导力21法则》摘要.pdf
- 【创新方案】2017届高三化学一轮课下限时集训(15) 原子结构 word版含解析.pdf
- 【贝叶斯统计】第一章 先验分布与后验分布.doc
- 【高俗读书笔记】现代西方哲学新编.doc
- 安徽马鞍山二中、安师大附中2015届高三上学期统一考试地理试题人教课标版.pdf
- 【高中地理】安徽涡阳四中2012-2013学年高二下学期第三次(期末)质检地理试题人教课标版.pdf
- 【高中地理】安徽涡阳四中2012-2013高二下学期第二次(5月)质量检测地理试题(课改部)人教课标版.pdf
- 【高中地理】广东2011高考地理一轮复习课时训练模块一自然地理(1地球与地图等4个)通用5.pdf
- 福建厦门市杏南中学2010-2011学年上学期高三地理第二次阶段性考试试卷人教课标版.pdf
- 吉林长春外国语学校2011-2012学年第二学期月考考试高二年级地理试卷人教课标版.pdf
- 【高中地理】江苏扬州安宜中学2011-2012学年度暑期自习效果诊断检测高三地理试题苏教版.pdf
文档评论(0)