try catch throw的血淚教訓

2021-10-06 15:23:32 字數 742 閱讀 4359

最終版本如下

function

getjson

(str)

catch

(error);

}}console.

log(

"aa"

,getjson(``

));

在沒使用try catch之前,是這麼寫的

function

getjson

(str)$/.

test

(str));

}let json =

json

.parse

(str)

; json.a =1;

console.

log(

"json"

, json)

;return json;

}console.

log(

"aa"

,getjson(``

));

用正則來簡單判斷一下字串是不是用{}包裹起來的,如果不是,鐵定不是json,但是{}包起來的就一定是json麼?怎麼辦?怎麼辦?怎麼辦?還有很多種暫時想不到的操作,乙個乙個列出來麼?太麻煩了,還會漏掉一些,只要漏掉了,就會導致程式崩潰,健壯性也太差了。

回過頭來我們再來看看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...