Skip to content

Instantly share code, notes, and snippets.

@TimBlock
Created January 22, 2016 10:30
Show Gist options
  • Save TimBlock/83ffeec6461f95f81fa8 to your computer and use it in GitHub Desktop.
Save TimBlock/83ffeec6461f95f81fa8 to your computer and use it in GitHub Desktop.
function withBoxUnlocked(body) {
var closed = box.locked;
if (!closed) return body();
box.unlock();
try{
return body();
} finally{
box.lock();
}
}
withBoxUnlocked(function() {
box.content.push("gold piece");
});
try {
withBoxUnlocked(function() {
throw new Error("Pirates on the horizon! Abort!");
});
} catch (e) {
console.log("Error raised:", e);
}
console.log(box.locked);
// → true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment