19

私はnode.jsを初めて使用し、基本的なものを試してみようとしています。

私のコードはこれです

var http = require("http");
http.createServer(function(request, response) {
    response.writeHead(200, {"Content-Type": "text/plain"});
    response.write("Hello World");
    response.end();
}).listen(8888);

ここに質問があります-createServerを呼び出すときにスローされた例外(またはスローされたイベント)をどのように確認できますか?try / catchを試しましたが、うまくいかないようです。モジュールのAPIで、それへの参照が見つかりませんでした。取得したポート(8888)で誤ってサーバーを起動し、(コマンドラインで)発生したエラーはエラー:EDDRINUSEでしたので、質問しています。これは十分に役立ちますが、エラーがどのようにキャッチされるかを理解できると便利です。ノード内。

4

4 に答える 4

35

これを行うには、作成しているサーバーでエラー イベントを処理します。まず、 の結果を取得し.createServer()ます。

var server = http.createServer(function(request, response) {

次に、エラーを簡単に処理できます。

server.on('error', function (e) {
  // Handle your error here
  console.log(e);
});
于 2013-01-22T23:59:57.333 に答える
5

次のコードを使用して、キャッチされなかった例外のスタック トレースを出力します。

process.on('uncaughtException', function( err ) {
            console.error(err.stack);
 });
于 2012-09-19T14:16:15.720 に答える
3

エラーは listen() メソッドで発行されます。API ドキュメントには、状況に応じたが含まれています。

于 2012-09-19T14:15:19.510 に答える
1

使用できます

process.on('uncaughtException', function(e){
    console.log(e);
});

キャッチされていない例外を処理するため。Web サーバーからの未処理の例外は、このようにキャッチできます。

于 2012-09-19T14:14:19.443 に答える