js自定义错误

JavaScript 提供了 8 个错误对象,根据错误类型将这些对象抛出到 try/catch 语句中。
Error
EvalError
RangeError
ReferenceError
SyntaxError
TypeError
URIError
以下示例说明了如何基于上面的基本错误类创建您自己的自定义错误类。
class OutOfFuelError extends Error {}
class FlatTireError extends Error {}
自定义错误允许您针对特定错误类型采取不同的行为,而无需使用错误消息来了解错误类型。
try {
//some code
} catch (err) {
if (err instanceof OutOfFuelError) {
//handle error
} else if (err instanceof FlatTireError) {
//handle error
}
}
在执行此操作之前,当然必须单独报告错误:
try {
const car = new Car() //imagine we have a Car object
if (!car.fuel) {
throw new OutOfFuelError('No fuel!')
}
if (car.flatTire) {
throw new FlatTireError('Flat tire!')
}
} catch (err) {
if (err instanceof OutOfFuelError) {
//handle error
} else if (err instanceof FlatTireError) {
//handle error
}
}
在生成错误时,您还可以修改与类相关的任何内容,甚至是构造函数在必要时接收的参数:
class OutOfFuelError extends Error {
constructor(message) {
super(message)
this.name = "OutOfFuelError"
}
}
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。