VBS control-m捕获到error 异常但是不报错,希望报错。如果tag=Y则fail报错,如果tag=N成功
时间: 2024-12-23 19:14:24 浏览: 10
VBS (Visual Basic Scripting) 控制-M脚本中,当遇到错误但你希望强制触发错误处理流程时,你可以使用 `On Error` 错误处理机制。如果你想在tag为"Y"的情况下失败并报告错误,而在tag为"N"的情况下正常运行但不显示错误,你可以这样做:
```vbscript
On Error Resume Next ' 允许错误继续执行
' 进行你的控制-M操作
' ...
If tag = "Y" Then
On Error Goto ErrorHandler ' 如果tag为Y,则切换到错误处理部分
WScript.Echo "由于tag设置为Y,操作失败"
ErrorHandler:
Err.Raise 900, "CustomError", "操作因tag设置为Y而失败" ' 抛出自定义错误
Exit Sub ' 结束脚本
Else
If Err.Number <> 0 Then ' 检查是否已经发生错误
On Error GoTo 0 ' 如果有,恢复默认错误处理
WScript.Echo "操作已结束,但tag设置为N,未报告错误"
Else
WScript.Echo "操作成功,tag设置为N"
End If
End If
On Error GoTo 0 ' 确保在退出前关闭错误处理
' 其他脚本后续代码...
```
在这个例子中,如果`tag`为"Y",脚本会立即跳转到错误处理区域并抛出自定义错误。如果`tag`为"N",只有在实际发生了错误的时候才会显示错误信息,否则会视为正常完成。
阅读全文