Исключения

From SunFlurry wiki
Jump to: navigation, search

В поле исключения документация дает список возможных причин создания исключения описываемой функцией. Обычно функции работают без создания исключений, однако, при вызове функции с неверными аргументами, когда она не может выполнить требуемое действие или вернуть корректный ответ, функция создает исключение, для того, чтобы прервать выполнение программы, которая в ином случае, использовала бы неверные данные или руководствовалась неверной логикой для изменения данных. Исключения могут, и, часто, должны быть отловлены программно. Игнорирование возможных исключительных ситуаций -- плохой стиль написания программ. Критические части кода, такие как транзакции, блокировка/разблокировка объектов и пр., всегда должны быть защищены конструкциями отлова исключений (Try ... EndTry). Часто, исключения могут быть вызваны самой программой, чтобы выйти из сложного и запутанного цикла обработки. Исключение также может возникнуть почти в любой момент, даже в коде, не использующем каких-либо функций, вызывающих исключения, если пользователь пытается остановить выполнение программы с помощью комбинации клавиш для прерывания обработки (Ctrl+C) или пункта меню прерывания выполнения (на кнопке панели задач). Если программа не отловила исключение, ее работа будет завершена, и в лог будет выведено сообщение об ошибке, при этом текущий визуальный модуль закрыт не будет; однако, если исключение возникло на этапе загрузки модуля, загрузка будет остановлена.