По последнему пункту:
finally не "заменяет" исключение, а генерирует еще одно, оно вылетает, поэтому первоначальное мы уже не можем увидеть. Чтобы увидеть, можно так: try { throw new Error(404) } catch (ex) { console.info(ex) } finally { alert("Пыщь-пыщь") throw new Error(406) } Niar, форматируйте код отступами, влом читать :) |
Учту=)
|
Цитата:
|
А всё Дэвид. Вот список причин исполнения finally если try закончен:
// 1) нормальным образом, достигнув конца блока // 2) изза инструкции break, continue или return // 3) с исключением, обработанным приведенным ранее блоком catch // 4) с неперехваченным исключением, которое продолжает свое // распространение на более высокие уровни Кстате break можно заюзать с меткой Кстате break без метки еще и в switch ошибки не даёт |
Niar,
Ну а почитать до конца религия не позволяет? Там написан пример: var i = 0, total = 0, a = [1, "str", "10", 2]; while(i < a.length) { try { if ((typeof a[i] != "number") || isNaN(a[i])) // Если это не число, continue; // переходим к следующей итерации цикла. total += a[i]; // В противном случае добавляем число к общей сумме. } finally { i++; // Всегда увеличиваем i, даже если ранее была инструкция continue. } } alert(total); // 3 |
delete
|
Цитата:
по поводу ошибок: ловятся все ошибки времени выполнения, не ловится ни одна ошибка компиляции |
Какая еще религия
|
Niar,
Не хотел никого обидеть. Просто есть такое выражение. Если вас задел, то извиняюсь. |
Да нет всё нормально.
|
Часовой пояс GMT +3, время: 06:29. |