上一节我们详细介绍了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程序进行调试。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程