定義:
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的用法
