try-catch 语句是用于处理程序运行时可能出现的异常或错误的一种结构。它允许你定义一段代码(try 块),在这段代码中可能会发生异常,然后定义另一段代码(catch 块)来处理这些异常。
以下是 try-catch 语句的基本语法和使用示例:
try {
// 可能会抛出异常的代码
} catch (error) {
// 处理异常的代码
}
假设我们有一个函数,它尝试将一个字符串转换为数字:
function convertToNumber(str) {
try {
return parseInt(str, 10);
} catch (error) {
console.error("无法将输入转换为数字:", error);
return null; // 或者返回一个默认值
}
}
console.log(convertToNumber("123")); // 输出: 123
console.log(convertToNumber("abc")); // 输出: 无法将输入转换为数字: NaN
在这个例子中:
try 块中包含可能会抛出异常的代码,即 parseInt(str, 10)。parseInt 抛出异常(例如,当输入不是有效的数字字符串时),控制流会立即跳转到 catch 块。catch 块接收一个参数 error,这个参数包含了异常的信息。在这个例子中,我们简单地打印出错误信息,并返回 null。catch 块你还可以为不同类型的异常定义多个 catch 块:
try {
// 可能会抛出异常的代码
} catch (errorType1) {
// 处理 errorType1 类型的异常
} catch (errorType2) {
// 处理 errorType2 类型的异常
} catch (error) {
// 处理其他所有类型的异常
}
finally 块除了 try 和 catch 块,你还可以使用 finally 块,无论是否发生异常,finally 块中的代码都会执行:
try {
// 可能会抛出异常的代码
} catch (error) {
// 处理异常的代码
} finally {
// 无论是否发生异常,都会执行的代码
}
finallytry {
console.log("尝试打开文件");
// 模拟文件打开失败
throw new Error("文件未找到");
} catch (error) {
console.error("捕获到错误:", error.message);
} finally {
console.log("关闭文件");
}
输出:
尝试打开文件
捕获到错误: 文件未找到
关闭文件
通过这种方式,你可以确保即使在发生异常的情况下,也能执行一些清理工作或其他必要的操作。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。