在 JavaScript 中,有两种主要的错误处理方式:
- try…catch:用于捕获运行时错误。
try {
// 代码块
} catch (err) {
// 处理错误
}
- throw:用于抛出自定义错误。
throw new Error('Something went wrong');
常见的错误类型有:
- SyntaxError:语法错误,如缺少分号等。
let x = 5
let y = 2 // 缺少分号
- ReferenceError:引用的变量不存在。
console.log(foo); // foo不存在
- TypeError:变量或参数的类型与预期不符。
let x = 5;
x.toUpperCase(); // x是数字,无法使用toUpperCase()
- RangeError:数值变量的操作超出其有效范围。
function foo(x) {
return x * 2;
}
foo(Infinity); // Infinity * 2 超出范围
- Error:自定义的错误类型。
throw new Error('Something wrong happened');
- JSONError:JSON 数据格式不正确。
JSON.parse('{ "name": "John" }');
// 缺少结束括号
所以,总结来说 JavaScript 的错误处理主要有:
- try…catch:捕获运行时错误
- throw:抛出自定义错误
常见错误类型有:
- SyntaxError:语法错误
- ReferenceError:引用变量不存在
- TypeError:类型不符
- RangeError:数值超出范围
- Error:自定义错误
- JSONError:JSON格式错误
我们需要在项目中合理使用try…catch来捕获潜在错误,并throw自定义错误提高代码健壮性。
可以使用try…catch块来捕获用户输入错误、网络请求错误、JSON格式错误等。并抛出自定义错误进行程序控制等。