Menangani error
Termasuk bagian Dasar-Dasar Node.js dalam perjalanan Node.js di Coddy. Pelajaran 13 dari 24.
notes.json yang diedit secara manual bisa rusak, lalu JSON.parse melempar error dan Node mencetak stack trace.
try menjalankan kode yang mungkin melempar error. Saat itu terjadi, catch menerima error tersebut dan programmu menentukan apa yang harus disampaikan. err.message adalah alasan satu barisnya.
let config;
try {
config = JSON.parse('{ port: 3000 }');
} catch (err) {
console.error(`config is broken: ${err.message}`);
process.exit(1);
}Jangan tangkap error lalu lanjut dengan list kosong: add berikutnya akan menyimpan ulang file yang rusak, dan semua catatan di dalamnya akan hilang.
Tantangan
Mudah- Saat
notes.jsonbukan JSON yang valid, setiap perintah mencetaknotes.json is damaged: <message>ke stderr dan keluar dengan1. notes.jsondari kode awal sengaja dibuat rusak.
Jalankan node notes.js list sebelum dan sesudah perubahanmu. Lalu hapus koma tambahan di notes.json dan jalankan list lagi.
Coba sendiri
import { existsSync, readFileSync, writeFileSync } from 'node:fs';
const file = 'notes.json';
const store = {
notes: existsSync(file) ? JSON.parse(readFileSync(file, 'utf8')) : [],
save() {
writeFileSync(file, JSON.stringify(this.notes, null, 2));
},
add(text) {
this.notes.push(text);
this.save();
return this.notes.length;
},
remove(n) {
const [text] = this.notes.splice(n - 1, 1);
this.save();
return text;
},
};
export default store;
Semua pelajaran di Dasar-Dasar Node.js
1Menjalankan JavaScript di Node
Halo, NodeArgumen Baris PerintahPerintahLatihan sendiri: Playground Express