nodejs中有很多异步,如果发生异常了改怎么去处理呢。

    1、如果是同步则用try,catch去捕获异常。

    1. try{
    2. test();
    3. }catch(err){
    4. console.log(err);
    5. }
    6. //最后会打印出test is not defined

    2、如果是异步的话,用回调传参去接收异常不要试图通过try,catch去捕获异步,因为是异步,所以等try,catch结束了,才能知道错误,try,catch捕获不到,而且你在异步中抛出err还会报错,外面没有对应的trycatch去接受错误。

    1. let callback=(result)=>{
    2. console.log(result);
    3. }
    4. let myReadFile=(callback)=>{
    5. fs.readFile("./my.txt",(err,data)=>{
    6. if(err){
    7. callback&&callback(err);
    8. }else{
    9. callback&&callback(data);
    10. }
    11. })
    12. }
    13. //这样就能通过callback拿到结果