Vb脚本中的错误处理

时间:2012-03-29 06:56:17

标签: vbscript

我有一个调用bat文件的Vb脚本。bat文件包含逻辑以发送email.i使用objShell.run运行bat文件。我在bat文件中给出了一个无效的电子邮件服务器名称。电子邮件不是sent.But objShell.run总是返回0.如何在这种情况下进行异常处理。请帮助

3 个答案:

答案 0 :(得分:0)

如果您使用objShell.run方法,它将运行单独的进程,而不关心您正在运行的当前进程。我会看ProcessStartInfo。我想你可以从ProcessStartInfo重定向输入/输出/错误流。 Herehere是关于它的一些链接

答案 1 :(得分:0)

您最好的选择是使用CDO直接从VBScript发送您的电子邮件。否则,批处理中的错误处理非常困难,您将不得不求助于退出代码。

答案 2 :(得分:0)

如果您想在没有安装的情况下发送,请尝试第二种方法。你必须初始化对象。在该示例中,我删除链接中的h,因为我无法发布链接

CDO.MESSAGE

'Script to send an email through QTP nice one Set oMessage = CreateObject("CDO.Message")

'==This section provides the configuration information for the remote SMTP server. '==Normally you will only change the server name or IP. oMessage.Configuration.Fields.Item _ ("ttp://schemas.microsoft.com/cdo/configuration/sendusing") = 2

'Name or IP of Remote SMTP Server oMessage.Configuration.Fields.Item _ ("ttp://schemas.microsoft.com/cdo/configuration/smtpserver") =""

'Server port (typically 25) oMessage.Configuration.Fields.Item _ ("ttp://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25

oMessage.Configuration.Fields.Update oMessage.Subject = "Test Mail" oMessage.Sender = "" oMessage.To ="" 'oMessage.CC = "" 'oMessage.BCC = "" oMessage.TextBody = "Test Mail from QTP"&vbcrlf&"Regards,"&vbcrlf&"Test" oMessage.Send

Set oMessage = Nothing