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创建一个错误。
Javascript
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);
}
输出:
功能构造函数继承错误类:
在这里,函数继承了错误类的原型。然后,我们可以创建其他自定义属性和方法来处理特定于应用程序的错误。
语法:
function CustomErrorName(msg = "") {
this.message = msg;
this.name = "CustomErrorName";
}
CustomErrorName.prototype = Error.prototype;
示例2: 在这个示例中,我们将创建一个自定义错误,满足条件10 != 20时会抛出。
JavaScript
function CheckCondition(msg = "") {
this.msg = 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中创建特定于我们应用程序的错误,并通过设置一些条件,在应用程序用户在使用应用程序时犯错误时抛出自定义错误。