如何在JavaScript中创建自定义错误
在本文中,我们将学习使用一些例子来创建自定义错误。
错误表示条件错误的状态。JavaScript通过自身处理一组预定义的错误,但如果您想创建自己的错误处理机制,可以使用JavaScript中提供的自定义错误功能来实现。
我们使用一个面向对象的编程概念称为继承来实现自定义错误。所有标准错误类型(如RangeError,TypeError等)都继承一个名为Error的主类,其形式如下:
Error类实例的语法:
new Error(msg, filename, lineno);
其中:
- msg :错误消息。
- filename :发生错误的文件。
- lineno :错误所在行数。
Error类包含诸如name、message、filename等属性,以及captureStackTrace和toString等方法。但是,在不同的浏览器中有所不同。
您可以使用此错误类构造您自己的错误对象的原型,称为 自定义错误 。
可以通过以下两种方式构造自定义错误:
- 扩展错误类的类构造函数。
- 继承错误类的函数构造函数。
扩展错误类的类构造函数: 在这里,我们定义一个扩展错误类的类。
语法:
class CustomErrorName extends Error{
constructor (){
super();
}
...
}
示例1: 我们将在以下代码中为条件10!=20创建一个错误。
class CheckCondition extends Error {
constructor(msg) {
super(msg);
}
}
try {
if (10 != 20)
throw new CheckCondition("10 is not equal to 20");
}
catch (err) {
console.error(err);
}
输出:
阅读更多:JavaScript 教程
继承错误类的函数构造函数:
在这里,函数继承了错误类的原型。然后我们可以创建其他自定义属性和方法来处理特定于应用程序的错误。
语法:
function CustomErrorName(msg = "") {
this.message = msg;
this.name = "CustomErrorName";
}
CustomErrorName.prototype = Error.prototype;
示例2: 在此示例中,我们将创建一个在条件10!=20时抛出的自定义错误。
function CheckCondition(msg = "") {
this.message = msg;
this.name = "CheckCondition";
}
CheckCondition.prototype = Error.prototype;
try {
if (10 != 20)
throw new CheckCondition("10 is not equal to 20");
}
catch (err) {
console.error(err);
}
输出:
通过这种方式,在JavaScript中可以创建特定于我们应用程序的错误,并且通过进行某些条件判断,我们可以在应用程序的用户使用时,当用户犯错误时抛出自定义错误。