Обработка ошибок
Обработка ошибок осуществляется перехватом ошибки и передачи управления.
OnError <Label>
Оператор OnError передает управление на метку <Label> при возникновении аварийной ситуации, то есть когда команда завершилась аварийно, команда завершилась преждевременно или произошел отказ от ввода по клавише Esc.
OnEmpty <Label>
Оператор OnEmpty передает управление на метку <Label> при возникновении ситуации, когда команда завершилась преждевременно.
OffError
Действие оператора перехвата ошибок начинается с момента выполнения оператора и до момента завершения макропрограммы или до выполнения оператора OffError. Операторы перехвата ошибок могут быть вложенными. Однако, оператор OffError отключает перехват ошибок.
Применимо только в программах на макроязыке к3. И не используется в модулях на python
Для языка
python существуют собственные конструкции try: ... except: ... else: ... fynally: ...
>>> def divide(x, y): ... try: ... result = x / y ... except ZeroDivisionError: ... print("Деление на ноль!") ... else: ... print("Результат", result) ... finally: ... print("Выполнение блока finally.") ... >>> divide(2, 1) Результат 2.0 Выполнение блока finally. >>> divide(2, 0) Деление на ноль! Выполнение блока finally. >>> divide("2", "1") Выполнение блока finally. Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 3, in divide TypeError: unsupported operand type(s) for /: 'str' and 'str'