错误与异常

描述

  • 表示JavaScript代码在运行时出现的不正常显示
  • 解释器会对每个错误创建一个Error对象

    • Error对象中包含了错误的具体描述信息

try...catch语句

  • 用于捕获和处理JavaScript代码中的错误

try语句

  • 表示用于捕获语句的错误

catch语句

  • 表示用于处理try语句中的错误语句

finally语句

  • 表示终结块
  • 当catch语句无法处理错误时,会执行finally语句中的内容

示例代码

/* try语句 - 用于捕获语句的错误 */
try {
    /* 正常情况下会报错 */
    console.log( s );// 显示 ReferenceError: s is not defined
}
/* catch语句 - 用于处理try语句中的错误语句 */
catch ( e ) {
    /* catch语句会将报错信息替换成提示信息,并正常显示 */
    console.log( '该语句错误...' );// 替换报错 显示 该语句错误...
    /* e - 表示原本的报错信息(e 用于站位,可以是任何其他值) */
    console.log( e );
}
/*
    finally语句
     * 表示终结块
     * 当catch语句无法处理错误时,会执行finally语句中的内容
 */
finally {}

throw语句

  • 表示抛出错误语句
  • 该语句可以和try...catch语句配合使用
  • 在使用throw语句抛出错误时,需要配合一个数据值

示例代码

function fun( v ){
    if ( v ) {
        return v;
    } else {
        /*
            throw语句 - 人为抛出的错误
             * 表达式允许是任意类型的内容
         */
        throw 'undefined';
    }
}

/* 定义一个变量用于接收函数 */
var s;
/* 设置try...catch语句 */
try {
    s = fun();
} catch ( e ) {
    s = '三步白头';
    console.log( e );// 显示错误 undefined
}
console.log( s );// 显示 三步白头

蔡志远
9 声望5 粉丝