JavaScript 如何编写一个不会引发错误的try/check函数
在本文中,我们将尝试了解如何使一个函数执行try/check(或基本的try-catch操作)而不引发错误,借助于某些理论解释以及JavaScript中的编码示例。
让我们首先看一下下面显示的包含多个语法的部分,我们将使用这些语法来轻松解决上述问题。
语法:
try {
// do something...
} catch(error) {
// do something with error...
}
下面的语法可以帮助我们创建一个函数或方法(这是箭头函数技术,非常推荐的,我们也可以选择普通的函数声明):
let function_name = () => {
// do something inside the function scope...
}
首先,让我们快速看一下下面展示的示例,这将有助于我们高效地理解所有语法。
示例1: 在这个示例中,我们将使用上述语法创建两个方法,它们分别会抛出不同的错误。然后,我们将使用多个try-catch块来分别捕获和处理这些错误。
Javascript
<script>
let firstRejectedMethod = (rejectionMessage) => {
throw new Error(rejectionMessage);
};
let secondRejectedMethod = (rejectionMessage) => {
throw new Error(rejectionMessage);
};
try {
firstRejectedMethod("Error 404!!...");
} catch (error) {
console.log("First Rejected Message: "
+ error.message);
}
try {
secondRejectedMethod("Something went wrong!!...");
} catch (error) {
console.log("Second Rejected Message: "
+ error.message);
}
</script>
输出:
First Rejected Message: Error 404!!...
Second Rejected Message: Something went wrong!!...
现在是时候审视我们的问题陈述了,也就是说,如何在不引起错误的情况下通过一个示例来执行try/check(或try-catch操作)的函数。
示例2: 在这个示例中,我们将再次使用前面示例中创建的两个方法,它们将分别抛出不同的错误,然后我们将再创建一个函数,通过这个函数我们将只使用一个try-catch块来处理错误,而不是多个块。
Javascript
<script>
let firstRejectedMethod = (rejectionMessage) => {
throw new Error(rejectionMessage);
};
let secondRejectedMethod = (rejectionMessage) => {
throw new Error(rejectionMessage);
};
let InterceptRejectedMessagesMethod = (callback, content) => {
try {
callback(content);
} catch (error) {
return error.message;
}
};
let first_rejected_message = InterceptRejectedMessagesMethod(
firstRejectedMethod,
"Error 404!!..."
);
let second_rejected_message = InterceptRejectedMessagesMethod(
secondRejectedMethod,
"Something went wrong!!..."
);
console.log("First Rejected Message: "
+ first_rejected_message);
console.log("Second Rejected Message: "
+ second_rejected_message);
</script>
输出结果:
First Rejected Message: Error 404!!...
Second Rejected Message: Something went wrong!!...