我想知道是否有一种方法可以避免冻结整个Svelte应用程序的异常?
我当前正在使用Svelte v3.12.0,看起来如果有未捕获的异常,则整个前端应用程序只会冻结,并且无法从错误中恢复。我不认为在try ... catch ...中将每个代码行包装在每个组件中都是一个很好的解决方案。
答案 0 :(得分:1)
没有办法,通常来说,异常会阻止所有进一步的脚本执行。
但是请记住,异常应该是例外情况,并表明发生了意外错误。如果您预期会发生某些错误,那么它们就不再是异常,应该加以处理(有时,如果您对引发异常的部分几乎没有控制,则确实需要try-catch)。将所有内容包装在try-catch块中很困难,这表明您的代码库中有些东西非常脆弱。
如果您遇到的异常主要是由api返回引起的,请考虑在获取承诺上放置.catch()
并优雅地处理失败的api。