JavaScript快速入门-07-异常处理与调试

7、异常处理与调试

7.1 异常处理

7.1.1 try/catch语句

    try/catch语句常用于处理JavaScript中的异常,其基本语法如下所示:

try {
   // 可能出错的代码
} catch(error){
   // 出错后,需要做的事
} finally{
  // 不管怎样,都要运行的语句
}

如果try块中有代码发生错误,则立即退出执行,并跳到catch块中,此时catch会接收到一个对象,该对象包含发生错误的相关信息。在catch块中不使用错误对象,也必须为它定义名称,其包含一个message属性。

    示例代码如下所示:

let a=12;

try {
    a/b
} catch (error) {
    console.error(`An error happend,please check,detail message is ${error.message}`); // An error happend,please check,detail message is b is not defined
} finally{
   console.log("run finally ");
}

    再来看看以下代码,返回值是多少?

function testTryCatchFinally(){
    try {
        return 0;
    } catch (error) {
        return 1;
    } finally{
        return 2;
    }
}

console.log(`return value is ${testTryCatchFinally()}`);  // return value is 2

在上面语句中,finally中的return返回会覆盖try中的return语句。

    常见的错误类型如下所示:

  • Error
  • InternalError
  • EvalError
  • RangeError
  • ReferenceError
  • SyntaxError
  • TypeError
  • URIError

7.1.2 抛出错误

    与try/catch 语句对应的一个机制是throw 操作符,用于在任何时候抛出自定义错误,throw 操作符必须有一个值,但值的类型不限。以下为示例:

throw "error"
throw 123
throw {"name":"Surpass"}
throw [1,2,3,4]
throw new Error("abc")

使用throw时,代码会立即停止运行

7.2 调试

    JavaScript用于调试的方法比较多,这里仅介绍把消息记录到控制台。所有主流浏览器都有JavaScript控制台,可用于查询JavaScript错误,也支持通过console对象直接把JavaScript消息写入控制台,主要包含以下方法:

  • error(message):在控制台中记录错误消息。
  • info(message):在控制台中记录信息性内容。
  • log(message):在控制台记录常规消息。
  • warn(message):在控制台中记录警告消息。

原文地址:https://www.jianshu.com/p/4436750c806e

本文同步在微信订阅号上发布,如各位小伙伴们喜欢我的文章,也可以关注我的微信订阅号:woaitest,或扫描下面的二维码添加关注:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章