admin管理员组

文章数量:1332107

In asynchronous functions, we can simply catch the error in callback. For example :

Async func:

fs.readdir(path, function(err){
    //catch error
)

As synchronous functions don't have callback, how can I catch errors?

Sync func:

fs.readdirSync(path);           //throws some error

One way is to use try catch block:

try{
    fs.readdirSync(path);
}
catch(err){
    //do whatever with error
}

Is there any other way to do that? If yes, then which one is better?

In asynchronous functions, we can simply catch the error in callback. For example :

Async func:

fs.readdir(path, function(err){
    //catch error
)

As synchronous functions don't have callback, how can I catch errors?

Sync func:

fs.readdirSync(path);           //throws some error

One way is to use try catch block:

try{
    fs.readdirSync(path);
}
catch(err){
    //do whatever with error
}

Is there any other way to do that? If yes, then which one is better?

Share Improve this question asked May 21, 2015 at 7:36 manishmanish 9562 gold badges12 silver badges35 bronze badges 2
  • 3 try...catch is the synchronous way. – elclanrs Commented May 21, 2015 at 7:38
  • 1 for synchronous try ... catch is the way to handle exception – Manmay Commented May 21, 2015 at 7:43
Add a ment  | 

1 Answer 1

Reset to default 7

Is there any other way to do that?

No, that's how you do it. Typically you have all your main logic in the try, and then just handle exceptional conditions (errors) in the catch. (And cleanup in the finally.)

本文标签: javascriptHow to catch errors in synchronous functions in nodejsStack Overflow