try catch 无法捕获异步异常

2020-08-04  本文已影响0人  VIAE

try catch 并不能捕获所有的异常,所以,并不是写个try catch就可以捕获一切异常了

try catch 能捕获到的仅仅是 try 模块内执行的同步方法的异常(try执行中且不需要异步等待),这时候如果有异常,就会将异常抛到catch中。

除此之外,try catch执行之前的异常 以及 try catch 内的异步方法所产生的异常(例如ajax请求、定时器),都是不会被捕获的!

try catch 异常捕获 同步


同步.PNG

结果


异常结果.PNG

try catch 异常捕获 异步


异步异常捕获.PNG

结果


异步异常捕获结果.PNG

如果有异步函数的话,就不需要用try catch 了, 直接用Promise就好了

上一篇下一篇

猜你喜欢

热点阅读