Cobra/Keywords/throw

Материал из Викиучебника — открытых книг для открытого мира
Перейти к навигации Перейти к поиску

Throw[править]

throw оператор используется для сигнализировании о случаях аномальных ситуаций (исключений) в ходе выполнения программы.
Созданное исключение является объектом, класс которого унаследован от System.Exception, например:

class MyException inherits System.Exception
    pass
# ...
throw MyException()

Обычно оператор throw используется с операторами try-catch-finally.
Можно повторно создать исключение, используя оператор throw и указав обработчик.

catch exc as MyException
    if passOn
        throw exc  # rethrow caught exception
    # ...

Синтаксис[править]

throw [<exceptionType>]

Пример[править]

class ThrowTest
    def getNumber(index as int) as int
        nums = [ 300, 600, 900 ]
        if index > nums.length
            throw IndexOutOfRangeException()
        return nums[index]

    def main is shared 
        result = ThrowTest.getNumber(3)

/#
    Output:
    The System.IndexOutOfRangeException exception occurs.
#/