Bird
Raised Fist0
Node.jsframework~10 mins

process.exit and exit codes in Node.js - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to exit the Node.js process with a success code.

Node.js
process.[1](0);
Drag options to blanks, or click blank then click option'
Aquit
Bexit
Cstop
Dend
Attempts:
3 left
💡 Hint
Common Mistakes
Using methods like quit or stop which do not exist on process.
Not passing an exit code.
2fill in blank
medium

Complete the code to exit the process with an error code 1.

Node.js
process.exit([1]);
Drag options to blanks, or click blank then click option'
A1
B255
C2
D0
Attempts:
3 left
💡 Hint
Common Mistakes
Using 0 which means success.
Using exit codes outside the valid range 0-255.
3fill in blank
hard

Fix the error in the code to properly exit the process with code 2.

Node.js
process.exit = [1];
Drag options to blanks, or click blank then click option'
A() => process.exit(2)
Bexit(2)
C2
Dprocess.exit(2)
Attempts:
3 left
💡 Hint
Common Mistakes
Assigning a number directly to process.exit.
Calling process.exit inside assignment without a function wrapper.
4fill in blank
hard

Fill both blanks to exit with code 3 after logging an error message.

Node.js
console.error('Error occurred');
process.[1]([2]);
Drag options to blanks, or click blank then click option'
Aexit
B1
C3
Dstop
Attempts:
3 left
💡 Hint
Common Mistakes
Using invalid method names like stop.
Passing wrong exit codes like 1 instead of 3.
5fill in blank
hard

Fill all three blanks to exit with code 4 only if an error variable is true.

Node.js
if ([1]) {
  console.log('Exiting due to error');
  process.[2]([3]);
}
Drag options to blanks, or click blank then click option'
Aerror
Bexit
C4
Dfail
Attempts:
3 left
💡 Hint
Common Mistakes
Using undefined variables in the condition.
Using invalid method names instead of exit.
Passing wrong exit codes.

Practice

(1/5)
1. What does process.exit(0) do in a Node.js program?
easy
A. Stops the program immediately and signals success
B. Stops the program immediately and signals an error
C. Pauses the program without exiting
D. Restarts the program automatically

Solution

  1. Step 1: Understand process.exit behavior

    process.exit immediately stops the Node.js program.
  2. Step 2: Interpret exit code 0

    An exit code of 0 means the program ended successfully without errors.
  3. Final Answer:

    Stops the program immediately and signals success -> Option A
  4. Quick Check:

    Exit code 0 = success [OK]
Hint: Exit code 0 means success, non-zero means error [OK]
Common Mistakes:
  • Thinking exit code 0 means error
  • Confusing pause with exit
  • Assuming process.exit restarts program
2. Which of the following is the correct syntax to exit a Node.js program with an error code 1?
easy
A. process.exit = 1;
B. exit.process(1);
C. process.exit(1);
D. process.exitCode = 1;

Solution

  1. Step 1: Identify correct method to exit

    The method to stop the program is process.exit() with a code inside parentheses.
  2. Step 2: Check syntax correctness

    process.exit(1); is the correct syntax to exit with code 1. Other options misuse method or assignment.
  3. Final Answer:

    process.exit(1); -> Option C
  4. Quick Check:

    Correct method call syntax = process.exit(1); [OK]
Hint: Use process.exit(code) with parentheses to exit [OK]
Common Mistakes:
  • Swapping method and object names
  • Assigning exit code instead of calling exit()
  • Missing parentheses in method call
3. What will be the exit code of this Node.js script?
console.log('Start');
process.exit(2);
console.log('End');
medium
A. Script runs forever
B. 1
C. 0
D. 2

Solution

  1. Step 1: Analyze the code flow

    The script prints 'Start', then calls process.exit(2), which stops the program immediately.
  2. Step 2: Determine exit code and output

    The exit code is 2. The line printing 'End' never runs.
  3. Final Answer:

    2 -> Option D
  4. Quick Check:

    process.exit(2) sets exit code 2 [OK]
Hint: Code after process.exit() does not run [OK]
Common Mistakes:
  • Assuming all console.logs run
  • Confusing exit code with default 0
  • Thinking exit code 2 means success
4. Identify the error in this Node.js code snippet:
process.exit = 1;
console.log('Exiting');
process.exit();
medium
A. process.exit is overwritten and no longer a function
B. process.exit() is called correctly with no error
C. Missing exit code argument in process.exit()
D. console.log should come after process.exit()

Solution

  1. Step 1: Check assignment to process.exit

    The code assigns 1 to process.exit, replacing the function with a number.
  2. Step 2: Understand effect on function call

    Calling process.exit() after overwriting causes an error because it's no longer a function.
  3. Final Answer:

    process.exit is overwritten and no longer a function -> Option A
  4. Quick Check:

    Overwriting process.exit breaks function call [OK]
Hint: Do not assign values to process.exit, it must stay a function [OK]
Common Mistakes:
  • Thinking missing argument causes error
  • Assuming console.log runs after exit
  • Ignoring that process.exit is a function
5. You want your Node.js script to exit with code 0 if a file exists, or code 3 if it does not. Which code snippet correctly implements this?
import fs from 'fs';
const file = 'data.txt';
if (fs.existsSync(file)) {
  process.exit(0);
} else {
  process.exit(3);
}
hard
A. Throws error because fs.existsSync is asynchronous
B. Correctly exits with 0 if file exists, 3 if not
C. Always exits with 0 regardless of file existence
D. Exits with 3 if file exists, 0 if not

Solution

  1. Step 1: Understand fs.existsSync usage

    fs.existsSync checks synchronously if the file exists, returning true or false.
  2. Step 2: Check exit codes in if-else

    If file exists, process.exit(0) runs; else process.exit(3) runs. This matches the requirement.
  3. Final Answer:

    Correctly exits with 0 if file exists, 3 if not -> Option B
  4. Quick Check:

    Sync check + exit codes used correctly [OK]
Hint: Use fs.existsSync for sync check, then process.exit(code) [OK]
Common Mistakes:
  • Using async fs.exists instead of sync
  • Swapping exit codes in if-else
  • Not calling process.exit with parentheses