Ответ 1
Да, вы можете. Используйте метод Err.Raise
, например:
Err.Raise 5 ' Invalid procedure call or argument
Список стандартных кодов ошибок VBScript см. в Ошибки (VBScript).
Я использую для программирования в С#, который, очевидно, имеет довольно эффективную обработку ошибок. Теперь я работаю над небольшим проектом в VBScript. Я прочитал об обработке ошибок с помощью VBscript, используя "On Error _______" и глобальную переменную Err
.
Однако есть ли способ генерировать собственные ошибки? Например, если одна из моих функций передана неправильным типом параметра, я бы предпочел, чтобы мой script просто вышел из строя в этой точке, затем попытайтесь продолжить.
Да, вы можете. Используйте метод Err.Raise
, например:
Err.Raise 5 ' Invalid procedure call or argument
Список стандартных кодов ошибок VBScript см. в Ошибки (VBScript).
Хотя @helen ответ правильный, он немного разрежен.
Он описывает метод Err.Raise()
, но пропускает некоторые ключевые моменты.
Из оригинального вопроса
Однако можно ли каким-то образом создать собственные ошибки? Например, если одна из моих функций передана неправильным типом параметра, я бы предпочел, чтобы мой script просто вышел из строя в этой точке, затем попытайтесь продолжить.
Err.Raise()
чрезвычайно универсален, он может генерировать существующие исключения (как уже обсуждалось), но также может генерировать совершенно новые пользовательские исключения.
Call Err.Raise(vbObjectError + 10, "My Application", "My custom error message")
vbObjectError
(-2147221504
) - встроенная константа VBScript, которая определяет границу для повышения пользовательских ошибок.
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