Hata Yanıtı
Coddy'nin Node.js Journey'sinin Express Temelleri bölümünün bir parçası. Ders 17 / 23.
Sunucuda bir şeyler ters gittiği için bir rota başarısız olabilir. Bir Error fırlatmak, bu hatayı Express’e iletir. Hata işleyicisi, ilk parametresi err olmak üzere dört parametre alan bir ara yazılımdır. Express, fırlatılan hataları bu tür bir ara yazılıma gönderir.
app.use((err, req, res, next) => {
res.status(500).json({error: 'Try later'});
});İşleyiciyi rotalardan sonra ekle. İstemciye kısa bir mesaj gönderilmeli, sunucu ise ayrıntıları kaydedebilir. next kullanılmasa bile dört parametrenin tümünü koru: Express, hata işleyicilerini tanımak için fonksiyonun yapısını kullanır.
Bir işleyici eklemeden önce, GET /broken Express’in kendi HTML hata sayfasını döndürür. next(err) çağrısı da bir hatayı hata işleyicisine iletir; next() çağrısı ise normal şekilde devam eder.
Görev
KolayÇalıştırma yalnızca practice-errors/server.js dosyasını başlatır. Recipe Box dosyalarına dokunulmaz ve onlarla sonraki derste devam edersin.
Çalıştır ve varsayılan hata sayfasını görmek için GET /broken isteğini gönder. Rotalardan sonra bir hata işleyici ekle. err.message değerini console.error ile günlüğe yaz, ardından 500 durum kodunu ve {"error":"Try later"} yanıtını gönder. Yanıt Database offline bilgisini açığa çıkarmamalı, ancak Konsol'da görünmelidir.
Hata fırlatan rotalar kilitli practice-errors/routes.js dosyasında bulunur. Bu dosyanın bağlandığı yeri koru; işleyiciyi server.js dosyasına yaz.
Kendin dene
import routes from './routes.js';
import express from 'express';
const app = express();
app.use(routes);
// Hata işleyicisini buraya ekleyin.
app.listen(3000);
Express Temelleri bölümündeki tüm dersler
Kendi başına pratik yap: Express playground