2011-07-15 35 views
8

Tôi đang cố gắng tìm cách thanh lịch nhất cho ứng dụng node.js của mình để chết khi xảy ra sự cố. Trong trường hợp cụ thể của tôi, tôi có một tập tin cấu hình với các tham số yêu cầu nhất định phải được đáp ứng trước khi máy chủ có thể bắt đầu và được cấu hình đúng.Bắt quá trình node.js chết?

Một cách tôi đã tìm thấy để làm điều này là:

var die = function(msg){ 
    console.log(msg) 
    process.exit(1); 
} 

die('Test end'); 

Có cách nào tốt hơn để xử lý tình huống này?

Trả lời

19

sử dụng tốt hơn console.error nếu bạn đang thực hiện process.exit ngay sau đó.

console.log là non-blocking và đặt thông điệp của bạn vào hàng đợi ghi nơi nó không được xử lý vì exit()

update: console.log cũng khối trong phiên bản mới nhất (ít nhất là kể từ 0.8.x).

0

Nếu bạn muốn đột ngột thoát thì điều này sẽ ổn. Nếu bạn muốn thực hiện bất kỳ việc dọn dẹp nào, bạn nên làm điều đó trước tiên, sau đó node.js có thể sẽ dừng lại, bởi vì không có gì giữ vòng lặp sự kiện đang chạy.

Các vấn đề liên quan