.then写在.catch之后,发生异常后.then中的代码是否还会执行

  • 发生的异常被catch捕获到之后,执行完catch中的代码后,还是会继续执行.then中的代码。

  • 如果想要阻止后续代码继续执行,可以使用 throw new Error 向外抛出错误,或者使用promise的reject()。

    注:
    	1、正常执行的代码如果第一句出现异常,就不会执行第二句以及后面的所有正常代码
    	2、对于 try catch finally而言,无论是否出现异常,异常是否被catch捕获,finally中的代码都会被执行,即使 try 或者 catch 中有 return 语句,finally 中的代码还是会执行,finally 执行完后,如果try中的异常被catch捕获,就会继续执行try catch外面的其他无关代码,如果没有被捕获,就会继续向外抛出异常,即中断执行后续所有代码。
    	
    	如下所示:
    	try{
    		//正常执行的代码
    	}catch (e){
    		//出错后执行的代码
    	}finally{
    		//无论正常执行还是出错,之后都会执行的代码
    	}
    	//跟上面try catch无关的代码
    
posted @ 2021-05-10 21:22  Upward123  阅读(1862)  评论(0编辑  收藏  举报