我有一个 try/catch JavaScript/TypeScript,如下所示:
import ls from 'local-storage';
let user;
try {
user = ls.get('userInfo');
} catch (e) {
user = {};
}
我遇到过 ls.get()
返回无效 JavaScript 的情况,这是相当正常的情况,我不想报告或记录错误,我只想将我的用户设置为 {}
如我上面所示。
也就是说,当本地存储为空时,ls.get 会抛出错误,我想确保我处理这种情况并捕获抛出的异常。
是否有一个干净或更好的语法来做到这一点?如果我只是说 catch()
我会得到一个错误。
最佳答案
除了评论中所说的之外,我认为您正在尝试使用 ECMAScript 规范(或 JS 规范)中没有但很快就会出现的东西: Optional Catch Binding
在此之前,如果您没有对应错误的参数(或绑定(bind)变量),您将收到错误消息。不过,您可以将 catch 代码块留空:
let user;
try {
user = ls.get('userInfo');
} catch (err) {}
编辑:根据tc39 finished proposal page,可选的 Catch Binding 预计将于今年(“预期发布年”)推出。
关于javascript - 使用 JavaScript try/catch,什么是不处理 catch 错误消息的干净方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54693572/