JS-try/catch方法判断字符串是否为json格式

时间:2023-03-09 02:05:03
JS-try/catch方法判断字符串是否为json格式

定义:

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的用法