Menu
CoddyTech

Fehler und Exit-Codes

Teil des Abschnitts Node.js-Grundlagen der Node.js-Journey von Coddy. Lektion 4 von 24.

Wenn ein Befehl fehlschlägt, müssen das Terminal und die Skripte, die dein Programm aufrufen, davon erfahren.

Ein Programm hat zwei Ausgabeströme: stdout für Ergebnisse und stderr für Fehler, die mit console.error ausgegeben werden. Wenn es beendet wird, gibt es einen Exit-Code zurück: 0 bedeutet, dass es funktioniert hat, jeder andere Wert bedeutet, dass es fehlgeschlagen ist. process.exit(1) beendet das Programm sofort mit dem Code 1.

// node divide.js 6 0
const [a, b] = process.argv.slice(2).map(Number);
if (b === 0) {
    console.error('Cannot divide by zero');
    process.exit(1);
}
console.log(a / b);

Das Terminal neben deinem Code zeigt stderr rot an und gibt den Exit-Code aus, wenn er nicht 0 ist.

challenge icon

Aufgabe

Einfach
  • Ohne Befehl die Zeile Usage: node notes.js <command> [words] auf stderr ausgeben und mit dem Code 1 beenden.
  • Ein unbekannter Befehl gibt Unknown command: <word> und anschließend die Nutzungszeile aus, beides auf stderr, und beendet das Programm mit 1.

Führe node notes.js und dann node notes.js remove 3 aus.

Probier es selbst

// Dein Notiztool beginnt hier.
const [command, ...words] = process.argv.slice(2);
const text = words.join(' ');

if (command === 'add') {
    console.log(`Adding: ${text}`);
} else if (command === 'list') {
    console.log('No notes yet');
} else {
    console.log(`Unknown command: ${command}`);
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Node.js-Grundlagen