Skip to content
Foxipa
Code Completion 8 Challenges

Complete the JavaScript Errors and Defensive Control Flow Code

Practice throwing, preserving causes, cleanup, classification, aggregation, and propagation.

Intermediate ~8 min read

Challenge 1

Throw a standard Error.

javascript Your answer
function fail() {
  ;
}

Press Ctrl⌘Enter to check your answer

Challenge 2

Wrap a lower-level error while preserving it.

javascript Your answer
try { risky(); } catch (error) {
  ;
}

Press Ctrl⌘Enter to check your answer

Challenge 3

Guarantee cleanup.

javascript Your answer
acquire();
try { use(); }  { release(); }

Press Ctrl⌘Enter to check your answer

Challenge 4

Recognize a custom validation error.

javascript Your answer
if (error  ValidationError) recover();

Press Ctrl⌘Enter to check your answer

Challenge 5

Group two errors.

javascript Your answer
const combined = new ([errorA, errorB], "batch failed");

Press Ctrl⌘Enter to check your answer

Challenge 6

Test whether a value is an Error object.

javascript Your answer
const valid = (value);

Press Ctrl⌘Enter to check your answer

Challenge 7

Handle an error without binding it.

javascript Your answer
try { risky(); }  { recover(); }

Press Ctrl⌘Enter to check your answer

Challenge 8

Propagate an error you cannot handle.

javascript Your answer
catch (error) {
  if (!isRecoverable(error)) ;
}

Press Ctrl⌘Enter to check your answer