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就好了
网友评论