JavaScript 保留错误原因的标准方法

JavaScript 保留错误原因的标准方法

在本文中,我们将尝试通过某些编码示例来理解JavaScript(或TypeScript)中保留错误原因的标准方法。

由于JavaScript/TypeScript没有直接提供这样的机制来查找错误的原因(例如,没有这样的属性或内置方法存在于两种语言中的任何一种),因此在连续抛出一些错误时,我们必须手动进行一些更改。

我们将通过下面的示例来理解我们的问题陈述。

示例1:

  • 在此示例中,我们将创建一个函数,在该函数内部创建一个嵌套的try/catch块集。
  • 然后,在嵌套的try块中抛出一个错误,然后通过catch语句捕获该抛出的错误。
  • 然后,我们将抛出另一个错误,该错误将在外部try块后面的外部catch块中捕获。

JavaScript

<script> 
    let errorFunction = () => { 
        try { 
            try { 
                throw new Error( 
                    "Second Error: Something went wrong..!!"); 
            } catch (error2) { 
                console.log(error2); 
                throw new Error("First Error: Error 404!!..."); 
            } 
        } catch (error1) { 
            console.log("-------------------------"); 
            console.log(error1); 
        } 
    }; 
  
    errorFunction(); 
</script>

输出:

JavaScript 保留错误原因的标准方法

现在,正如我们可以在浏览器控制台的输出中可视化的那样,第一个错误没有保留任何对第二个错误的引用,所以这实际上是我们的问题陈述,我们将在下面的另一个示例中解决这个问题。

示例2:

  • 在这个示例中,我们将使用在前一个示例中实现的相同代码,但稍作修改。
  • 在这里,我们将使用另一种类型的错误,即TrackError,尽管它已经定义,但为了代码实现的目的,我们将重新定义它。
  • 在其中,我们将传递第二个错误的引用,这样稍后就可以通过catch语句来捕获第一个错误。
  • 这就是我们如何保留错误的引用,并且在输出中我们也会看到一个名为ReferenceError的错误。

Javascript

<script> 
    let errorFunction = () => { 
        try { 
            try { 
                throw new Error( 
                    "Second Error: Something went wrong..!!"); 
            } catch (error2) { 
                console.log(error2); 
                throw new TrackError( 
                    "First Error: Error 404!!...", error2); 
            } 
        } catch (error1) { 
            console.log("-------------------------"); 
            console.log(error1); 
        } 
    }; 
    errorFunction(); 
</script>

输出:

JavaScript 保留错误原因的标准方法

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程