Подтвердить что ты не робот

Могу ли я сделать ошибку в vbscript?

Я использую для программирования в С#, который, очевидно, имеет довольно эффективную обработку ошибок. Теперь я работаю над небольшим проектом в VBScript. Я прочитал об обработке ошибок с помощью VBscript, используя "On Error _______" и глобальную переменную Err.

Однако есть ли способ генерировать собственные ошибки? Например, если одна из моих функций передана неправильным типом параметра, я бы предпочел, чтобы мой script просто вышел из строя в этой точке, затем попытайтесь продолжить.

4b9b3361

Ответ 1

Да, вы можете. Используйте метод Err.Raise, например:

Err.Raise 5 ' Invalid procedure call or argument

Список стандартных кодов ошибок VBScript см. в Ошибки (VBScript).

Ответ 2

Хотя @helen ответ правильный, он немного разрежен.

Он описывает метод Err.Raise(), но пропускает некоторые ключевые моменты.

Из оригинального вопроса
Однако можно ли каким-то образом создать собственные ошибки? Например, если одна из моих функций передана неправильным типом параметра, я бы предпочел, чтобы мой script просто вышел из строя в этой точке, затем попытайтесь продолжить.

Err.Raise() чрезвычайно универсален, он может генерировать существующие исключения (как уже обсуждалось), но также может генерировать совершенно новые пользовательские исключения.

Call Err.Raise(vbObjectError + 10, "My Application", "My custom error message")

vbObjectError (-2147221504) - встроенная константа VBScript, которая определяет границу для повышения пользовательских ошибок.

Ответ 3

С# try-catch-finally

try {
    // some code
} catch( Exception e ) {
    // error handler
} finally {
    // clean up things
}

эквивалент VBScript

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