Menu
CoddyTech

Error dan Kode Keluar

Termasuk bagian Dasar-Dasar Node.js dalam perjalanan Node.js di Coddy. Pelajaran 5 dari 33.

Saat sebuah perintah gagal, orang di terminal perlu melihat alasannya, dan program apa pun yang menjalankan programmu perlu tahu bahwa programmu gagal.

Sebuah program memiliki dua aliran output: stdout untuk hasil dan stderr untuk error, yang ditulis dengan console.error. Saat program berakhir, program mengembalikan kode keluar: 0 berarti program berhasil, selain itu berarti program gagal. process.exit(1) langsung menghentikan program dengan kode 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);

Terminal di samping kodemu menampilkan stderr dengan warna merah dan mencetak kode keluar jika nilainya bukan 0.

challenge icon

Tantangan

Mudah

Saat seseorang menggunakan tool-mu dengan cara yang salah, tool-mu harus menjelaskan cara menggunakannya dan memberi tahu terminal bahwa program gagal. Program melakukan ini dengan aliran error, stderr, dan kode keluar.

  1. Di notes.js, ubah cabang else terakhir, yang mencetak Unknown command:. Error masuk ke stderr, jadi cetak dengan console.error, bukan console.log.
  2. Saat seseorang mengetik perintah yang tidak dikenal, cetak dua baris ini ke stderr, dengan urutan berikut:
    Unknown command: remove
    Usage: node notes.js <command> [words]
    Baris pertama menyebutkan kata yang diketik: dalam contoh ini remove, dari node notes.js remove 3. Baris kedua selalu sama. Salin persis, dengan <command> dan [words] seperti tertulis: keduanya merupakan bagian dari teks, bukan sesuatu yang perlu diisi.
  3. Saat tidak ada yang diketik setelah node notes.js, cetak hanya baris penggunaan ke stderr. Jangan cetak Unknown command: undefined.
  4. Dalam kedua kasus, akhiri program dengan kode keluar 1, yang berarti "it failed".
  5. add dan list tetap berfungsi seperti sebelumnya. node notes.js add Buy milk tetap mencetak Adding: Buy milk dan berakhir dengan kode keluar 0.

Coba: tekan Jalankan saat kotak setelah $ node notes.js kosong. Kamu akan melihat baris penggunaan berwarna merah, dan terminal menampilkan kode keluar 1. Lalu ketik remove 3 dan tekan Enter: kamu akan melihat Unknown command: remove dan baris penggunaan, keduanya berwarna merah, serta kode keluar 1. Lalu ketik add Buy milk: kamu akan melihat Adding: Buy milk dengan warna normal, dan tidak ada kode keluar karena terminal menyembunyikan angka 0.

Coba sendiri

// Alat catatanmu dimulai di sini.
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 iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar Node.js

Latihan sendiri: Playground Express