Исключения

Кроме основного назначения - обработки ошибок времени выполнения, исключения это ещё и способ совершения нелокальных прыжков (нелокального выхода), т. е. передачи управления на некоторую удалённую, возможно заранее неизвестную, точку программы. Вы можете выбросить (throw) исключение и поймать (catch) его из любой вызывающей функции в стеке :
    function foo() {
        // ...
        throw new Error("invalid foo");
    }

    // ...

    try {
        foo();
    } catch( e : Error ) {
        // обработка исключения
    }
Можно использовать несколько catch после try для того, чтобы отлавливать разные типы исключений. Они тестируются в порядке, в котором декларированы. Выражение catch( e : Dynamic ) будет отлавливать все исключения :
    try {
        foo();
    } catch( e : String ) {
        // обработать этот тип ошибок
    } catch( e : Error ) {
        // обработать другой тип ошибок
    } catch( e : Dynamic ) {
        // обработать все остальные ошибки
    }
Все выражения try и catch должны иметь один возвращаемый тип, за исключением ситуаций, когда никакого значения не нужно (также как if).

Комментарии

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <blockcode> <dd>
  • Строки и параграфы переносятся автоматически.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>.

Подробнее о форматировании

CAPTCHA
Этот вопрос помогает предотвратить автоматический спам
Image CAPTCHA
Enter the characters shown in the image without spaces, also respect upper and lower case.
To prevent automated spam submissions leave this field empty.