ES6中异常处理的定义

ES6中异常处理的定义

异常: 异常是指不希望发生的事件,基本上会中断程序的正常流程。一般有两种类型的异常:同步异常(例如运行时错误)和异步异常(例如系统错误)。

  • 同步异常(例如运行时错误)
  • 异步异常(例如系统错误)

异常处理: 在程序中经常会发生异常,导致程序突然终止或以一种不友好的方式终止。处理或防止意外行为称为异常处理。异常处理处理同步异常,例如用户错误输入、不存在的文件等(包括运行时错误)。

为什么需要异常处理: 异常处理基本上确保程序不会突然终止,或者程序的流程不会以一种不友好的方式中断。可以进行有意义的错误报告,并为用户生成可理解的错误报告。

ES6: (ECMAScript第6版)提供了异常处理的重要功能。可以通过使用 try -块后跟 catch -块或 finally -块来实现。由于 try 块不能单独存在,它们要么后面跟着 catch 块,要么跟着 finally 块。它有三种形式:

  • try…catch
  • try…finally
  • try…catch…finally

1. try…catch块: 代码或在 try 块中的 try 语句将首先执行。每当异常发生时,它会被放入 exception_var 中,然后继续执行 catch 块中的代码。

语法:

try {

    // try statements 
    // code to run

} catch (exception_var) {

    // catch statements
    // code to run 

}

2. try…finally块: 首先执行try语句块,然后执行finally语句块。 无论是否发生异常,finally块都将始终执行。

语法:

try {

    // try statements
    // code to run

} finally {

    // finally statements
    // code that is always executed
}

3. try…catch…finally 块: 如果发生异常,try 块将首先执行,异常的值将被放入 exception_var 中,然后执行 catch 块,最后执行 finally 块。然而,无论异常发生与否,finally 块都会被执行。

语法:

try {

   // try statements
   // code to run

 } catch (exception_var) {

     // catch statements
     // code to run if exception occurs

 } finally {

     // finally statements
     // code that is always executed

}

让我们通过以下示例来理解:

示例1: 让我们以一个用户输入错误的示例来说明,在这个示例中,用户将问题除以了零“0”。

javascript

<script>
    var num = 5;
    var de_num = 0;
    try {
        if(de_num == 0) {
            throw "Divide by zero error";
        } else {
            var sol = num / de_num;
        }
    } catch(e) {
        console.log("Error : " + e);
    }
</script>

输出结果:

Error : Divide by zero error

示例2: 在这个示例中,我们使用了一个未声明的引用时会抛出引用错误。在这个示例中,我们故意没有声明函数并直接调用它,这将导致引用错误。

javascript

<script>
    try{
      ab(); 
      // We have not declared the
      // function ab anywhere
    } catch(e){
      console.log("Error : "+ e.name);
    }
</script>

e.name将返回错误的名称。

输出:

Error : ReferenceError

示例3: 在我们的最后一个示例中,我们故意编写了一个语法错误来尝试阻塞。我们没有正确地将字符串放在单引号之间。这将导致SyntaxError。

JavaScript

<script>
    try {
        eval("alert('ES6 Exception Handling)");
    } catch(e){
        console.log("Error : " + e.name)
    }
</script>

输出:

Error : SyntaxError

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程