svelte - 如何避免在 Svelte 中冻结整个应用程序的异常?
问题描述
我想知道是否有办法避免冻结整个 Svelte 应用程序的异常?
我目前正在使用 Svelte v3.12.0,看起来如果有一个未捕获的异常,整个前端应用程序就会冻结并且它不会从错误中恢复。我不认为在 try...catch... 中包装每个组件中的每一行代码是一个很好的解决方案。
解决方案
没有办法这样做,一般来说,异常会停止所有进一步的脚本执行。
但请记住,异常应该是异常的,并且表明出现了意外错误。如果您希望发生某些错误,则它们不再是异常,应该进行处理(如果您对抛出异常的部分几乎没有控制权,有时这确实需要 try-catch)。将所有内容都包装在 try-catch 块中,这表明您的代码库中有一些非常脆弱的东西。
如果您得到的异常主要是由 api 返回引起的,请考虑.catch()
在您的 fetch 承诺上加上一个并优雅地处理失败的 api。
推荐阅读
- python - pyspark编程中的日期值比较
- c# - System.InvalidCastException:'无法将'System.String'类型的对象转换为'Newtonsoft.Json.Linq.JToken'类型。'
- javascript - 结合用于邮政信箱的 HTML 5 输入模式和地址特殊字符不允许
- docker - Azure DevOps 服务器 (onprem) - 容器作业 - 结帐不起作用
- mongodb - 如何在 MongoDB 中编写查询以滚动获取过去 7 天的数据
- python - 为什么在 Ubuntu 18.04 上运行 Selenium chrome 驱动程序时 chrome 浏览器不启动
- uri - 区分电子邮件地址和 IRI
- flutter - 有没有办法在 Flutter/Dart 中添加导航路线列表?
- c# - 在场景完全加载之前调用 Unity start()
- flutter - 有没有办法在 Flutter/Dart 中添加导航路线列表?