zoukankan      html  css  js  c++  java
  • 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的用法

  • 相关阅读:
    记一次RAID阵列的迁移经历
    PAT A1131 Subway Map
    PAT A1103 Integer Factorization
    ZOJ1002 Fire Net
    L3022 地铁一日游
    github的使用小技巧
    hexo博客部署在阿里云上
    Windows环境搭建hexo博客部署到GitHub上
    Centos7.X下安装node.js npm和 淘宝镜像(cnpm)
    今天新注册的,第一篇文章
  • 原文地址:https://www.cnblogs.com/yangchin9/p/10722398.html
Copyright © 2011-2022 走看看