2013-08-17 21 views
14

Restured of NodeJS ile birlikte çalıştığı sunucunun tüm hatalarını nasıl yönetebilirim? Örneğin, iç hatalar, veritabanı hataları, doğrulama, gerekli paramlar, bulunamadı, athorized ... Ve yakalanmamış Özel durum ve tarayıcıya özel yanıtı döndürmek?Hataları düzenle Yönetme

Nasıl kontrolörleri arasındaki veri ve hataların payı tasarlayabilirsiniz? ürettikleri nereye

Teşekkür

cevap

26
  1. , derhal hataları işlemek. next(err) gerçekten res.send(err) anlamına gelir. throw err için bir alternatif değil. Eğer oturum açıp kapatmanız gerekiyorsa, onu yutulacak şekilde next(err) içine doldurmak yerine bir hata işleme modülüne aktarın.
  2. server.on('uncaughtException'... Eğer katman/rotalara atıldı hataları işlemek nasıl. İlk kılavuzu hatırladığınız sürece bu amaç için iyi çalışır. 'uncaughtException', next(err) çağrıları için tetiklenmeyecektir.
  3. formatters kullanıcılara çıkıyor hata iletilerini özelleştirmek için bir yoldur. muhtemelen, bir kez oraya, kullanıcıyı hata gönderiyoruz çünkü başlangıçta oluşturulduğu ... ille hatayı görmeye onlarıistiyorum kesinlikle uncaughtException hatalar ile uğraşmaya bir alternatif değiliz. katman için alakasız hatalar için noktayı 1.
  4. Bkz böyle bir yararlı bakış restify dokümanlar IMHO artıracak birini yazmak için process.on('uncaughtException'...
+4

Teşekkür kullanmayı unutmayın. – Max