Проблема с блоками try and catch в js
Не могу понять почему выводит ошибку, ведь она обрабатывается блоком catch
const box = {
locked: true,
unlock() {
this.locked = false;
},
lock() {
this.locked = true;
},
_content: [],
get content() {
if (this.locked) throw new Error("Locked!");
return this._content;
}
};
function withBoxUnlocked(funct) {
try {
console.log(funct);
box.lock();
} catch (e) {
console.log("used catch");
box.unlock();
withBoxUnlocked(funct);
}
}
withBoxUnlocked(box.content);