2012-03-14 6 views
1

node.jsでの使用量が少なくて済み、エラー処理に関してはそれほど幸せではありません。私のコードは次のようになります。node.jsの少ないパーサーからの例外のキャッチ

parser.parse(data, function (err, tree) { 
    if(err){ 
     console.log(err); 
     res.send(500); 
    }else{ 
     res.header('Content-Type', 'text/css'); 
     res.send(tree.toCSS()); 
    } 
    }); 

私の問題は、私のあまりのいずれかのファイルに構文エラーがあり、例外がプロセスをクラッシュ、スローされた場合。 tryブロックに関数呼び出しをラップすることは役に立ちません。より少ないファイルでエラーが発生した場合、プロセスを正常に失敗させることは可能ですか?

答えて

2

に記載されているとおり、構文エラーのためにparse()関数が例外をスローしないようにしてください。ただし、toCSS()関数が可能です。

parser.parse(data, function (parseError, tree) { 
    var css; 

    if (parseError) { 
    console.log(parseError); 
    res.send(500); 
    } else { 
    res.header('Content-Type', 'text/css'); 
    try { 
     css = tree.toCSS(); 
     res.send(css); 
    } catch (ex) { 
     console.log(ex); 
     res.send(500); 
    } 
    } 
}); 
+0

素晴らしい - ありがとう:) –

関連する問題