ファイルが正しければうまく機能しますが、エラーを正しく処理できません。
function parse (pathname, callback){
//Some variables
fs.open(pathname, 'r', function(err, fd){
if (err){console.log('Error Opening the file'); callback(-1);}
console.log('Begin the parsing');
//Do the parsing
しかし、無効なパス名を指定すると、Error のメッセージが表示され、関数は読み取り時に致命的なエラーが発生するまで続行されます。
コールバックが関数を終了していると思っていましたが、間違っているようです。
私は次のようなことができます:
function parse (pathname, callback){
//Some variables
fs.open(pathname, 'r', function(err, fd){
if (err){console.log('Error Opening the file'); callback(-1);}
else{
console.log('Begin the parsing');
//Do the parsing
しかし、その中には多くのエラー処理があり、関数は非常に巨大です。
他のsコードでは、私は通常見ます
if (err){throw err;}
しかし、イベントを使って簡単なことをしてもうまくいかないので、これも避けたいと思います。それを処理しないと、アプリが閉じてしまいます。
別の方法でエラーを処理できるようにする適切な方法はありますか?