Показать сообщение отдельно
  #58 (permalink)  
Старый 27.01.2010, 19:20
Аватар для Niar
Труъ кодер
Отправить личное сообщение для Niar Посмотреть профиль Найти все сообщения от Niar
 
Регистрация: 20.01.2010
Сообщений: 194

try {
throw new Error(404)
 }
finally {
alert("Пыщь-пыщь")
}
try{
throw new Error(405)
}
catch(e){
alert(e.message)
}

Тут сначала исполняется finally. Так как catch нету он ищет его дальше. Однако catch принадлежит другому try и в результате ошибка.
try{
throw new Error(405)
try {
throw new Error(404)
 }
finally {
alert("Пыщь-пыщь")
}
}
catch(e){
alert(e.message)
}

Тут сразу находит 405 ошибку и в результате остальной код try не исполняется и ищется catch, и находится.
try{
try {
throw new Error(404)
 }
finally {
alert("Пыщь-пыщь")
}
}
catch(e){
alert(e.message)
}

Тут сразу находит 404 ошибку и ищется catch. Но он находит только finally и исполняет его. Потом ищет catch на внешнем уровне и находит.

try {
throw new Error(404)
 }
finally {
alert("Пыщь-пыщь")
throw new Error(406)
}

А тут finally заменяет старое исключение на новое
__________________
http://www.free-lance.ru/users/Nia173 Мой аккуант на free-lance.
Ответить с цитированием