SvelteKit客户端全局错误处理问题咨询
SvelteKit客户端全局错误处理问题咨询
我现在卡在SvelteKit客户端全局捕获未处理异常的问题上了,折腾了好久都没搞定。我特意做了个极简的Demo来复现我遇到的情况,目前观察到几种不同场景下的错误表现:
- 开启SSR且发生服务器错误:页面会正常路由到错误页
- 开启SSR且发生客户端错误:服务器端成功渲染了请求的页面,但客户端本地渲染时会在控制台报错,用户看到的还是服务器预渲染的页面
- 关闭SSR,无论发生服务器错误还是客户端错误:直接出现“死亡白屏”,错误只会在控制台打印
我的目标是能平滑地全局捕获客户端侧(非服务器端)的错误,提升用户体验。目前我用的方案是做了一个错误组件,然后在每个页面都引入它,还把大部分逻辑都套在try/catch里,出错时就显示这个组件。但这个方法太繁琐了,而且算不上真正的全局处理——虽然聊胜于无,但我真的很不满意。
我还试过另一种思路,做了分支尝试:想通过Store把错误数据传递到布局层来处理,但还是得在页面里手动处理错误才能把数据传上去,而且根本捕获不全所有客户端错误,同样让人头疼。
有没有人已经找到更好的解决办法?或者框架本身有没有更完善的方式来处理这个问题?
备注:内容来源于stack exchange,提问作者Jeremy Armstrong
相关产品推荐
相关产品推荐

