我有一个巨大的解析功能,如果文件正确,它工作得很好,但我不能正确处理错误。
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
但是如果我给出一个无效的路径名,我会收到错误消息,并且函数会继续执行,直到读取时出现致命错误。
我以为回调正在结束函数,但似乎我错了。
我可以做类似的事情:
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
但是里面有很多错误处理,而且功能非常庞大。
在其他的代码中我通常看到
if (err){throw err;}
但是我从来没有成功地做任何事情,即使是简单的事件,所以我也想避免这种情况,如果我不处理它,它最终会关闭应用程序,这也是我不想要的。
有没有一种巧妙的方法让我以另一种方式处理错误?