Javascript try… catch… else… наконец, как Python, Java, Ruby и т. Д.

Как Javascript может дублировать четырехчастный try - catch - else - finally , которую поддерживают другие языки?

Четкое и краткое резюме взято из Python 2.5 Что нового . В терминах Javascript:

// XXX THIS EXAMPLE IS A SYNTAX ERROR
try {
  // Protected-block
} catch(e) {
  // Handler-block
} else {
  // Else-block
} finally {
  // Final-block
}

Выполняется код в Protected-block . Если код вызывает исключение, выполняется Блок-обработчик ; Если исключение не генерируется, выполняется Else-block .

Независимо от того, что произошло ранее, Final-block выполняется после завершения кодового блока и обработки любых возникших исключений. Даже если возникает ошибка в блоке обработчика или Else-block и возникает новое исключение, код в Final-block все еще выполняется.

] Обратите внимание, что вырезание Else-block и вставка в конец Protected-block неверны . Если ошибка происходит в Else-block , она не должна обрабатываться блоком обработчика .

35
задан JasonSmith 2 February 2011 в 08:23
поделиться