Vbscript resume next仅适用于某些脚本vb

Vbscript resume next仅适用于某些脚本vb,vbscript,asp-classic,Vbscript,Asp Classic,我正在尝试下一步使用resume,因此我的用户不会看到错误,但我会将其设置为向我发送电子邮件。 为什么简历下一步会出现这样一个简单的错误: x = 10 y = 0 z = x / y If Err.Number <> 0 Then MsgBox "There's been an error #1" end if objMessage.HTMLBody = "this is a test" & "gfjhg" & vbNewLine & "hgfjfg"

我正在尝试下一步使用resume,因此我的用户不会看到错误,但我会将其设置为向我发送电子邮件。 为什么简历下一步会出现这样一个简单的错误:

x = 10
y = 0
z = x / y
If Err.Number <> 0 Then
MsgBox "There's been an error #1"
end if 
objMessage.HTMLBody = "this is a test" & "gfjhg" & vbNewLine & "hgfjfg"
Microsoft VBScript编译错误“800a0409”


下一步错误恢复时未终止的字符串常量

启用运行时错误的错误处理,而不是语法错误。此语句中存在语法错误:

objMessage.HTMLBody = "this is a test" & "gfjhg
hgfjfg"
VBScript不支持多行字符串文字,因此需要将其替换为以下内容:

x = 10
y = 0
z = x / y
If Err.Number <> 0 Then
MsgBox "There's been an error #1"
end if 
objMessage.HTMLBody = "this is a test" & "gfjhg" & vbNewLine & "hgfjfg"
虽然这是正确的,但它并不建议您尝试做的事情的替代方案

如果您希望通过跨越几行代码来提高代码的可读性,可以使用“389;”(语句中断)操作符:

objMessage.HTMLBody = "this is a test" &_
                      "gfjhg" &_
                      "hgfjfg"
如果您的目标是在电子邮件正文中生成实际的换行符,则必须添加

标记:

objMessage.HTMLBody = "this is a test<br />" &_
                      "gfjhg<br />" &_
                      "hgfjfg"
objMessage.HTMLBody=“这是一个测试
”&_ “gfjhg
”&_ “hgfjfg”
实际上,它确实支持使用“\u”字符。@ShadowWizard
\u
字符用于行继续,即在下一行继续一条语句(不是字符串)。每个字符串文字必须仍在一行上。如果VBScript支持多行字符串文字(它不支持),您可以让字符串文字跨越多行,就像在引发OP.True错误的语句中一样,但仍然认为值得一提的是命令跨越多行的能力,即使不是一个字符串文字。虽然它更具可读性,但我发现它没有用,特别是如果你想注释一行,所以我倾向于先建立一个变量,比如
msg=msg&“这是一个测试
,然后是
msg=msg&“gfjhg
,然后连接
objMessage.HTMLBody=msg
。如果我想注释掉
msg=msg&“gfjhg
,我可以这样做,而不破坏其余部分。@Lankymart当然,这里实际上也是这样,但我给OP提供了正确的语法,适合他/她尝试使用的方式。更进一步,我会使用行数组,然后用

:)连接它是的,很好。问题是,我们不知道他们是在试图跨行跨命令,还是故意破坏代码,希望下一次恢复时出现
错误
来处理它,我们已经确定的不会发生。@Lankymart-huh,我从来没有想到过。