为什么try{}catch(){}不执行?

try{
  setTimeout(()=>{
      d //这里捕获不了错误
  })
  //c; // c is undefined  这里可以
}catch(e){
 console.log(e.message)
}
阅读 2.9k
3 个回答

因为setTimeout是异步的,要获取异步操作里的异常,需要把try catch写在异步操作里面。

同步语法怎么能够捕获异步错误

   setTimeout(()=>{
      console.log('d')
    })

不能单独输出一个d的