try-catch的使用
基本语法
try {
// 可能产生错误的代码
} catch (error) {
// 错误处理代码
}
- try 代码块中可能产生错误的代码
- catch 代码块中处理错误的代码
- error 是 catch 代码块中的参数,用于接收错误信息
示例
try {
// 可能产生错误的代码
let a = 10;
let b = 0;
let c = a / b;
console.log(c);
} catch (error) {
// 错误处理代码
console.log("出错了:" + error.message);
}
输出:
出错了:Cannot read property 'toString' of undefined
原因:
- 变量 b 未定义,导致 a / b 运算错误
- 错误信息为:Cannot read property ‘toString’ of undefined
注意事项
- try-catch 语句必须放在 try 代码块和 catch 代码块之间,不能放在代码块的中间
- try 代码块中必须有可能产生错误的代码,否则 catch 代码块不会执行
- catch 代码块中必须有错误处理代码,否则程序会报错
try-catch的嵌套
try {
// 可能产生错误的代码
try {
// 可能产生错误的代码
let a = 10;
let b = 0;
let c = a / b;
console.log(c);
} catch (error) {
// 错误处理代码
console.log("出错了:" + error.message);
}
} catch (error) {
// 错误处理代码
console.log("出错了:" + error.message);
}
- 外层 try 代码块中可能产生错误的代码
- 内层 try 代码块中可能产生错误的代码
- 内层 catch 代码块中处理错误的代码
- 外层 catch 代码块中处理错误的代码
- 错误信息为:Cannot read property ‘toString’ of undefined
try-catch-finally的使用
基本语法
try {
// 可能产生错误的代码
} catch (error) {
// 错误处理代码
} finally {
// 无论是否有错误,都会执行的代码
}
- try 代码块中可能产生错误的代码
- catch 代码块中处理错误的代码
- finally 代码块中无论是否有错误,都会执行的代码
- error 是 catch 代码块中的参数,用于接收错误信息
示例
try {
// 可能产生错误的代码
let a = 10;
let b = 0;
let c = a / b;
console.log(c);
} catch (error) {
// 错误处理代码
console.log("出错了:" + error.message);
} finally {
// 无论是否有错误,都会执行的代码
console.log("finally 代码块");
}
输出:
出错了:Cannot read property 'toString' of undefined
finally 代码块
原因:
- 变量 b 未定义,导致 a / b 运算错误
- 错误信息为:Cannot read property ‘toString’ of undefined
- finally 代码块无论是否有错误都会执行
注意事项
- try-catch-finally 语句必须放在 try 代码块、catch 代码块和 finally 代码块之间,不能放在代码块的中间
- try 代码块中必须有可能产生错误的代码,否则 catch 代码块不会执行
- catch 代码块中必须有错误处理代码,否则程序会报错
- finally 代码块无论是否有错误都会执行,一般用于释放资源、关闭文件等操作
总结
- try-catch 语句用于捕获并处理 JavaScript 代码块中的错误
- try-catch-finally 语句用于在 try 代码块中执行代码,如果有错误,则捕获错误并处理,无论是否有错误,都会执行 finally 代码块
- try-catch 语句必须放在 try 代码块和 catch 代码块之间,不能放在代码块的中间
- try 代码块中必须有可能产生错误的代码,否则 catch 代码块不会执行
- catch 代码块中必须有错误处理代码,否则程序会报错
- finally 代码块无论是否有错误都会执行,一般用于释放资源、关闭文件等操作