Javascript中的错误处理机制是什么?有哪些常见的错误类型?

在 JavaScript 中,有两种主要的错误处理方式:

  1. try…catch:用于捕获运行时错误。
try {
  // 代码块
} catch (err) {
  // 处理错误
}
  1. throw:用于抛出自定义错误。
throw new Error('Something went wrong');

常见的错误类型有:

  1. SyntaxError:语法错误,如缺少分号等。
let x = 5 
let y = 2  // 缺少分号
  1. ReferenceError:引用的变量不存在。
console.log(foo); // foo不存在
  1. TypeError:变量或参数的类型与预期不符。
let x = 5; 
x.toUpperCase(); // x是数字,无法使用toUpperCase()
  1. RangeError:数值变量的操作超出其有效范围。
function foo(x) {
  return x * 2; 
}

foo(Infinity); // Infinity * 2 超出范围
  1. Error:自定义的错误类型。
throw new Error('Something wrong happened');
  1. JSONError:JSON 数据格式不正确。
JSON.parse('{ "name": "John" }'); 
// 缺少结束括号 

所以,总结来说 JavaScript 的错误处理主要有:

  1. try…catch:捕获运行时错误
  2. throw:抛出自定义错误

常见错误类型有:

  1. SyntaxError:语法错误
  2. ReferenceError:引用变量不存在
  3. TypeError:类型不符
  4. RangeError:数值超出范围
  5. Error:自定义错误
  6. JSONError:JSON格式错误

我们需要在项目中合理使用try…catch来捕获潜在错误,并throw自定义错误提高代码健壮性。
可以使用try…catch块来捕获用户输入错误、网络请求错误、JSON格式错误等。并抛出自定义错误进行程序控制等。