Hatalar ve Çıkış Kodları
Coddy'nin Node.js Journey'sinin Node.js Temelleri bölümünün bir parçası. Ders 5 / 33.
Bir komut başarısız olduğunda, terminaldeki kişinin bunun nedenini görmesi gerekir ve seninkini çalıştıran herhangi bir program da başarısız olduğunu bilmelidir.
Bir programın iki çıktı akışı vardır: sonuçlar için stdout ve hatalar için console.error ile yazılan stderr. Program sona erdiğinde bir çıkış kodu döndürür: 0 başarılı olduğu, diğer tüm değerler başarısız olduğu anlamına gelir. process.exit(1), programı 1 koduyla hemen durdurur.
// 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);Kodunun yanındaki terminal, stderr'yi kırmızı renkte gösterir ve çıkış kodu 0 olmadığında bu kodu yazdırır.
Görev
KolayBirisi aracını yanlış kullandığında, aracı nasıl kullanacağını belirtmeli ve terminale işlemin başarısız olduğunu bildirmelidir. Programlar bunu hata akışı olan stderr ve bir çıkış koduyla yapar.
notes.jsiçinde,Unknown command:yazdıran sonelsedalını değiştir. Hatalar stderr'e gider, bu yüzden bunlarıconsole.logyerineconsole.errorile yazdır.- Bir komut yazılmış ama tanınmıyorsa, şu iki satırı bu sırayla stderr'e yazdır:İlk satır, yazılan sözcüğü belirtir: burada
Unknown command: remove Usage: node notes.js <command> [words]node notes.js remove 3komutundakiremove. İkinci satır her zaman aynıdır.<command>ve[words]bölümleri yazıldığı gibi kalacak şekilde satırı aynen kopyala: bunlar metnin bir parçasıdır, doldurulacak yer tutucular değildir. node notes.jskomutundan sonra hiçbir şey yazılmadığında, stderr'e yalnızca kullanım satırını yazdır.Unknown command: undefinedyazdırma.- Her iki durumda da programı, “başarısız oldu” anlamına gelen 1 çıkış koduyla sonlandır.
addvelisteskisi gibi çalışır.node notes.js add Buy milkkomutu hâlâAdding: Buy milkyazdırır ve 0 çıkış koduyla sonlanır.
Dene: $ node notes.js komutundan sonraki kutuyu boş bırakıp Çalıştır'a bas. Kullanım satırını kırmızı görürsün ve terminal 1 çıkış kodunu gösterir. Ardından remove 3 yazıp Enter'a bas: Unknown command: remove satırını ve kullanım satırını ikisini de kırmızı görürsün; çıkış kodu 1 olur. Sonra add Buy milk yaz: Adding: Buy milk satırını normal renkte görürsün ve terminal 0'ı gizlediği için çıkış kodu görünmez.
Kendin dene
// Not alma aracın burada başlıyor.
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}`);
}
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Node.js Temelleri bölümündeki tüm dersler
1JavaScript’i Node Üzerinde Çalıştırma
Merhaba, NodeKomutu OkumaKomut Satırı ArgümanlarıKomutlarKendi başına pratik yap: Express playground