定义:
try/catch 语句用于处理代码中可能出现的错误信息,出现异常会导致程序崩溃,而try/catch 则可以保证程序的正常运行。
try {
//执行代码 不报错则 正常执行 不会进入下面的catch } catch(err){ //当上面的代码出错时 这里可以捕获到错误信息 console.error(err) }
多重捕获:
一个 try 代码块后面跟随多个catch代码块的情况
如果 try 代码块中发生异常,异常被抛给第一个 catch 块。
如果抛出异常的数据类型与 ExceptionType1 匹配,它在这里就会被捕获。
如果不匹配,它会被传递给第二个 catch 块。
如此,直到异常被捕获或者通过所有的 catch 块。
//多重捕获 try { //尝试执行的代码块 } catch (异常类型1 异常的变量名1) { //捕获错误的代码块1 } ... catch (异常类型2 异常的变量名2) { //捕获错误的代码块2 } finally { //最终执行的代码块 }
简单运用:
判断输入的字符串是否为JSON格式
function except(str) { console.log(typeof str) //查看传入的数据是什么类型 try { JSON.parse(str) console.log('json') return true }catch(err){ console.log('not json') return false } }; // var strs = '{"name":"Runoob"}'; //json // var strs = '123' // json // var strs = null // json // var strs = true // json // var strs = {"name":"Runoob"}; //not json // var strs = '123abc' //not json // var strs = [] //not json // var strs = {} //not json
console.log(except(strs))
注意:number、null、Boolean、object都是可以被JSON.parse() 解析的,所以具体的场景要具体分析;这里主要的体现try/catch的用法