JavaScript 在错误处理情况下throw语句无法正常工作
在本文中,我们将尝试理解在哪种情况下throw语句在错误处理情况下不起作用,以及如何通过哪种方式彻底解决它,以便在JavaScript中产生正确的输出,并通过某些示例进行说明。
让我们看一下下面的部分,其中包含某些编码示例以及它们的理论解释,以便以更好和更高效的方式说明我们的问题及其解决方案。
示例1:
- 在此示例中,我们将尽可能详细地解决我们的问题。
- 这里我们将使用一个随机示例,例如检查一个数字是否为正数。
- 为此,我们将创建一个函数,该函数将接受一个整数作为其参数,稍后将使用多个if语句检查该数字的值。
- 根据数字是否不为正(即为负数)或数字是否为零,我们将依次抛出随机的错误消息。
- 然后在try块中,我们将返回一行文字,说明已经确定了该数字是正数,如果不是,则抛出的错误将在catch块中捕获。
- 最后,在输出结果中,我们将看到throw部分没有按照我们期望的方式显示错误。
Javascript
输出:
如我们所见,这段代码片段的输出看起来更加模糊,输出中多了一些不必要的或不需要的行,让我们看一下下面展示的示例,它将向我们展示上述问题的解决方案。
示例2:
- 在这个示例中,我们将考虑上一个示例中的代码函数,该函数用于检查传递的数字的值。
- 在这个函数内部,我们将在代码的开头放置一个try块,并使用多个if语句来检查不需要的事实是否匹配。
- 如果它们匹配,我们将抛出相应的错误,如果不匹配,我们将返回一条语句,表明这个数字是一个正数。
- 最后,我们将在catch块中捕获为某些情况抛出的所有错误。
- 在输出中,我们现在将看到throw语句工作正常,错误消息成功打印为期望的输出。
Javascript
输出: