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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM