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

原文地址:https://www.cnblogs.com/yangchin9/p/10722398.html