Czytam się na JavaScript exceptions:JavaScript zagnieżdżone try wyjątek
You can nest one or more try...catch statements. If an inner try...catch statement does not have a catch block, the enclosing try...catch statement's catch block is checked for a match.
Chyba zrozumiałem prawidłowo i napisał ten kod testowy następująco:
try {
try {
throw "error";
}
} catch(e) {
console.log(e);
}
Ale mam ten błąd:
Uncaught SyntaxError: Missing catch or finally after try
Wiem, że wyraźnie mówi, że na brakuje mi haczyka lub wreszcie, ale dokumentacja JavaScript mówi, że mój kod powinien być poprawny, czy też nie rozumiem?
Zdajesz sobie sprawę, że 'try { } 'block bez żadnego' catch' z 'finally' w rzeczywistości nie wykonałby niczego, nawet jeśli byłby dozwolony, ponieważ jedynym powodem umieszczenia czegoś w bloku' try' jest obsługa wyjątku. Ma sens, że to błąd. – jfriend00
Tak, wiem. Właśnie testowałem to i myślałem, że nie rozumiem dokumentów, więc skonsultowałem się z SO, aby wyjaśnić, że link do tego pomógł bardziej niż przewodnik MDN: http://www.ecma-international.org/ecma-262/5.1 /#sec-12.14 –