.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无关的代码
    


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM