上一节我们详细介绍了JS里的正则表达式,本节我们将学习JS中的错误处理机制。在编写代码时,错误是难免的。JS提供了完善的错误处理机制,让我们能够优雅地处理各种异常情况,而不是让程序直接崩溃。

这里我们需要知道:

try-检测语句模块是否有问题。

catch-处理错误。

finally-不管是否有错,直接执行。

throw-throw-主动抛出错误对象

最基本的错误处理就是 try...catch 语句。我们把可能出错的代码放在 try 块中,如果发生错误,catch 块就会捕获并处理它:

try {
    let result = undefinedVariable; // ReferenceError
    console.log("结果是:" + result);} 
catch (error) {
    console.log("出错了:" + error.message);}

有时候,我们还希望无论是否出错都执行某些清理工作,这时可以用 finally:

try {
    // 尝试打开文件
    console.log("开始执行打开文件操作");
} catch (error) {
    console.log("错误信息:" + error.message);
} finally {
    console.log("清理任务");
}

除了处理系统抛出的错误,我们还可以主动抛出错误。使用 throw 语句可以创建自定义的错误:

function openFile(filename) {
    if (!filename) {
        throw new Error("文件名不能为空");
    }
    
    if (!filename.includes('.')) {
        throw new Error("文件名需要包含后缀");
    }
    
    return "成功打开文件:" + filename;
}

在实际开发中,我们经常需要处理不同类型的错误。JS提供了几种内置的错误类型,比如 TypeError(类型错误)、ReferenceError(引用错误)等。

总结:本节我们学习了JS的错误处理机制:try···catch能够对固定模块进行检查并处理错误,finally不论语句是否有问题都会执行,throw能够扔出自定义错误。读者需要认识并掌握这些错误处理机制,方便以后对JS程序进行调试。

点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)