我习惯用C#编程,这显然有一些非常强大的错误处理。现在我正在开发VBScript中的一个简短项目。我已经阅读了使用“On Error _______”和Err
全局变量的VBscript的错误处理。
但是,有什么方法可以产生我自己的错误吗?例如,如果我的一个函数传递了错误类型的参数,那么我宁愿我的脚本在那时失败,然后尝试继续。
答案 0 :(得分:31)
是的,你可以。使用Err.Raise
方法,例如:
Err.Raise 5 ' Invalid procedure call or argument
有关VBScript标准错误代码的列表,请参阅Errors (VBScript)。
答案 1 :(得分:22)
它详细介绍了Err.Raise()
方法,但忽略了一些关键点。
来自original question
但是,有什么方法可以生成我自己的错误吗?例如,如果我的一个函数传递了错误类型的参数,我宁愿我的脚本在那时失败然后尝试继续。
Err.Raise()
非常通用,它可以抛出现有的异常(如前所述),但它也可以抛出全新的用户定义异常。
Call Err.Raise(vbObjectError + 10, "My Application", "My custom error message")
vbObjectError
(-2147221504
)是一个内置的VBScript常量,用于定义引发用户定义错误的边界。
答案 2 :(得分:2)
try {
// some code
} catch( Exception e ) {
// error handler
} finally {
// clean up things
}
on error resume next
' some code
if( Err.number <> 0 ) then
' error handler -- you can use Err.raise() here to display your own errors
Err.clear()
else
' clean up things
end if
on error goto 0
对于好的VBScript示例,您可以查看ASP Xtreme Evolution project