try {
// 此处是可能产生例外的语句
} catch(error) {
// 此处是负责例外处理的语句
} finally {
// 此处是出口语句
}
上述代码中,try块中的语句首先被执行。如果运行中发生了错误,控制就会转移到位于catch块中语句,其中括号中的error参数被作为例外变量传递。否则,catch块的语句被跳过不执行。无论是发生错误时catch块中的语句执行完毕,或者没有发生错误try块中的语句执行完毕,最后将执行finally块中的语句。
try {
console.log("开始执行try块语句 ---> ")
console.log("还没有发生例外 ---> ")
console.log((prompt("输入一个值:","")))
} catch(err) {
console.log("捕捉到例外,开始执行catch块语句 --->");
console.log("错误名称: " + err.name+" ---> ");
console.log("错误信息: " + err.message+" ---> ");
} finally {
console.log("开始执行finally块语句")
}
运行结果
开始执行try块语句 --->
还没有发生例外 --->
捕捉到例外,开始执行catch块语句 --->
错误名称: ReferenceError --->
错误信息: prompt is not defined --->
开始执行finally块语句
function myFunction()
{
try
{
var x=Math.random();
if(x==0){
throw "empty";
}
else if(x>0.5){
throw ">0.5";
}else{
throw "<0.5";
}
}
catch(err)
{
console.log("Error: " + err + ".")
}
}
myFunction() //Error: <0.5.