如何解决在 catch 子句中声明 e 变量的正确方法是什么
当我没有声明 catch
用来存储错误的变量时,JSHint 给我以下错误
function foo (){
try{
let a = 0/0;
} catch (e){
console.log (e);
}
}
error| 'e' is not defined
当我定义它时,我得到这个错误
function foo (){
let e;
try{
let a = 0/0;
} catch (e){
console.log (e);
}
}
error| Value of 'e' may be overwritten in IE8 and earlier
是否有声明 e
的最佳实践方法?如果没有,我该如何抑制这个 JSHint 错误?
解决方法
MDN try...catch 文档中描述的 exception_var
不需要初始化。该变量的处理方式类似于函数的参数:catch(e)
中的定义创建引用。
JSHint 是正确的,因为在 try/catch 语句之外初始化 exception_var
(许多开发人员将其用作 e
/err
)会导致不需要的行为。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。