Javascript可以使用try/catch/finally 语句用于处理代码中可能出现的错误信息。
错误可能是语法错误,通常是程序员造成的编码错误或错别字。也可能是拼写错误或语言中缺少的功能(可能由于浏览器差异)。
基本语句结构:
try {
tryCode - 尝试执行代码块
}
catch(err) {
catchCode - 捕获错误的代码块
}
finally {
finallyCode - 无论 try / catch 结果如何都会执行的代码块
}
例如:
<script>
function fn(){
let p = {"name":"张三","age":20};
try{
console.log(p);
p.eat(); //这里会出现异常。
console.log("程序即将结束....");
}catch(err){
console.log(err.toString());
}finally{
console.log('一定要执行的代码....');
}
console.log('后面继续要执行的代码...');
}
fn();
</script>
运行结果:
{name: "张三", age: 20}
TypeError: p.eat is not a function
一定要执行的代码....
后面继续要执行的代码...
也可以使用throw 关键字抛出一个异常。例如:
<script>
function fn(){
let p = {"name":"张三","age":20};
try{
console.log(p);
//人为地抛出一个随机异常
throw new Error('random error');
console.log("程序即将结束....");
}catch(err){
console.log(err.toString());
}finally{
console.log('一定要执行的代码....');
}
console.log('后面继续要执行的代码...');
}
fn();
</script>
运行结果:
{name: "张三", age: 20}
Error: random error
一定要执行的代码....
后面继续要执行的代码...