最終版本如下
在沒使用try catch之前,是這麼寫的function
getjson
(str)
catch
(error);
}}console.
log(
"aa"
,getjson(``
));
用正則來簡單判斷一下字串是不是用{}包裹起來的,如果不是,鐵定不是json,但是{}包起來的就一定是json麼?怎麼辦?怎麼辦?怎麼辦?還有很多種暫時想不到的操作,乙個乙個列出來麼?太麻煩了,還會漏掉一些,只要漏掉了,就會導致程式崩潰,健壯性也太差了。function
getjson
(str)$/.
test
(str));
}let json =
json
.parse
(str)
; json.a =1;
console.
log(
"json"
, json)
;return json;
}console.
log(
"aa"
,getjson(``
));
回過頭來我們再來看看try catch,只要報錯就會被catch捕獲,首先,不用去搞正則了,也不用擔心漏掉什麼,**都少了很多,而且可讀性也增強了許多。
如何使用try catch throw
以前使用的不多,轉個帖子,從現在開始有所改變吧 try,catch,throw的含義就很清楚,但怎麼使用,我還是過了好多年才明白一些 先看乙個不好的例子 不好的 class ctest1 class ctest2 class ctest3 void badcode new ctest2 ctest2...
異常處理try catch throw
c 引入了異常處理機制。其基本思想是 函式 a 在執行過程中發現異常時可以不加處理,而只是 丟擲乙個異常 給 a 的呼叫者,假定為函式 b。丟擲異常而不加處理會導致函式 a 立即中止,在這種情況下,函式 b 可以選擇捕獲 a 丟擲的異常進行處理,也可以選擇置之不理。如果置之不理,這個異常就會被拋給 ...
zz 如何使用try,catch, throw
經驗分享,如何使用try,catch,throw之一 try,catch,throw的含義就很清楚,但怎麼使用,我還是過了好多年才明白一些 先看乙個不好的例子 c c code 不好的 class ctest1 class ctest2 class ctest3 void badcode new c...