Lambda saystry/catch/finally handles errors so one failure doesn’t crash everything.
Wrap risky code in try { … }; if it throws, catch (err) { … } runs with the error. finally { … } runs either way (cleanup). Catch only what you can handle — swallowing every error hides bugs. For async code, wrap await calls in try/catch the same way.
Power-ups you unlock
try runs risky code; catch handles the throw
finally always runs (cleanup)
Catch only what you can handle
Wrap await in try/catch for async errors
The Mutator attacks — common mistakes
Empty catch blocks swallowing real bugs
try/catch around code that can’t throw
Forgetting finally for cleanup (open resources)
Boss battleParse possibly-invalid JSON inside try/catch and report success or the error.