JavaScript:如何处理除错误输入之外的所有错误

标签 javascript error-handling exception

考虑一个代码示例:

const someThing = { f: function() {} }
try {
    something.f() // there is a mistype
} catch(e) {
    // some error handling specific to function f
}

所以,我不想处理由于我的错误输入而可能产生的所有错误,例如:ReferenceErrorTypeError,而且我也不想处理断言错误

有什么惯用的方法可以做到这一点吗?

最佳答案

你可以这样做:

var ignoredErrors = [TypeError, ReferenceError];

function handleError (e) {
  for (var index in ignoredErrors) {
    if (e instanceof ignoredErrors[index]) {
      return;
    }
  }
  console.log('A "real" error occured:', e.message);
}

const someThing = { f: function() {} }
try {
  something.f(); // ReferenceError: ignored
} catch(e) {
  handleError(e);
}

try {
  eval('()'); // SyntaxError: not ignored
} catch(e) {
  handleError(e);
}

但是你真的想拥有它吗?您想忽略错误而不是解决程序中的错误吗?

关于JavaScript:如何处理除错误输入之外的所有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44433134/

相关文章:

javascript - 基于 PHP MySQL 表中的值和 JavaScript 值进行选择

javascript - jQuery 日期选择器 - 从第一个日期选择器中选择后禁用日期

rest - Invoke-RestMethod 的错误处理 - Powershell

xml - 使用 MSXML 加载 XML 时如何获得英文错误消息

java - catch block 之后的代码是错误的还是毫无意义的?

javascript - AngularJs 使用 ngResource 从 Controller 解析服务

javascript - 删除javascript对象中的嵌套属性

error-handling - 全局asax中的应用程序错误事件未触发无扩展名404错误

java - 列表 <Character> 上的 StringIndexOutOfBoundsException

php - Laravel 处理异常