為什麼不建議用 try catch?

時間 2021-05-12 04:00:15

1樓:stevefan1999

因為try catch需要用到(下推)自動機,而用(下推)自動機的代價很高。

不過如果自動機能提供更高的價值的話,很多人選擇不了了之。

譬如async也是自動機的建構的。(至少C#/C++/Babel/TS四大金剛是這樣)

但是它能提供的功能與價值很高(簡化非同步程式設計的困擾,在普遍場合大幅提公升效能),所以就很少人嘈,但是也不是沒有;有些人把async也稱為async hell/pollution也是如此。

2樓:杜杰

我覺得你要處理的用try catch 不處理的往上拋. 你需要呼叫API去是使用硬體的功能, 功能基於硬體有可能會出錯你總不能就讓你的應用崩潰了這個時候捕獲異常提示使用者,起碼你其他的功能還能正常使用

3樓:reverland

如果是js,哦,不只是js,搬運乙個鏈結

4樓:ming yang

如果說把排除bug看做警察破案的過程,不寫trycatch破案的難度就會增加,寫了會減少。

而且在一些介面專案中尤為重要,甚至要把錯誤記錄到可查詢的日誌。

因為你想,比如大宗金錢交易介面,典型的如攜程信用卡付款介面事件,沒有日誌記錄,出現了bug或者問題,這時候你就會對哪個當初不寫trycatch的程式設計師想付諸武力甚至想追究其法律責任。

當然,有個同事的專案,把出現的任何錯誤給使用者看都報成網路錯誤,這樣使用者就不能說他程式有問題了………然後網管成了拉仇恨的人(┐(~`;)┌)

5樓:

不知道我是不是題主說的這種人啊

小白乙個

非常喜歡用try catch

經常這樣用

比如課程設計需要設計登入

那我try資料庫連線找這個帳號密碼

輸出來什麼沒找到那我catch到再告訴你沒這帳號再有做安卓計算器的時候

0/0我要怎麼處理啊

好像要寫很多if else啊

算了 還是直接catch好了

求各位大佬點評

我這樣寫程式是不是該死一死啊。

6樓:邸強

try catch的意義在於捕獲並處理異常,很可惜,很多人只能做到前一半,更糟糕的是,因為這前一半,憑添了更多bug。

要麼不做,要麼做好,就這樣。

7樓:simon jiang

沒必要每個方法都Try Catch。但是為了避免服務Crash,在頂層呼叫還是有必要Catch的。Catch完記得打好日誌,記錄詳細的輸入輸出,異常原因等,然後通過異常報警通知給開發。

8樓:

throw-catch, 其實是一種高階goto,或者叫non-local exit,能夠跨函式使用,用處可絕不僅僅是錯誤處理。和continuation有千絲萬縷的聯絡。

功能強大的東西,要用好也是有難度的。

9樓:

CppCoreGuidelines:

[E.18: Minimize the use of explicit `try`/`catch`](#Re-catch)這才是正確處理 C++ 異常的方式啊……

10樓:無以言

try catch and log 然後根據情況決定throw

這東西只用來處理異常就好,不要用來 throw('使用者不存在'

11樓:陳飛

try catch當然有大用,不過要注意幾點:

1.不要把異常處理當成條件判斷,該用if else的別用try catch。

2.不要捕捉處理不了的異常,把異常拋到外面,能處理或者需要處理的人會try catch這個異常。

3.列印異常堆疊,輸出錯誤資訊不叫異常處理。

12樓:我不是Bruce

團隊開發用得多些,例如你寫的工具類必須按你設計規範操作,同事錯誤使用的話就可以拋個異常給他。當然需要盡量避免這麼做。

就像陣列越界程式會崩一樣,它完全可以返回空給你,但這樣會把錯誤隱藏造成未知的損失。

為什麼 Scala 不建議用 return?

fp界不喜歡return,fp的函式也不會像oop的方法一樣那麼長,而且scala對於return的實現相當可怕,scala是這麼實現return效果的 throw newNonLocalReturnControl key metadata value 太可怕了 henix 1.Scala 是一門函...

深蹲為什麼不建議用護墊?

武漢沈壯士 不管是深蹲還是其它任何訓練動作,為了訓練效果還有訓練安全都要求動作足夠穩。但是加上護墊桿子與身體就會出現空隙增加不穩定因素 玉面駱駝 套用祖師爺的話說 那玩意是娘們用的。好了,現在老實回答問題。主管感受,僅供參考。不建議用,大家都是從空桿玩起來的,如果一開始就用護墊,隨著重量的增加是說你...

安撫奶嘴到底建議不建議用?

不說別的,我家寶寶半歲斷夜奶,也是醒兩次,一塞奶嘴絕對睡,八個月之後半夜直接就不醒了,就半夜醒了塞奶嘴秒睡這點,建議用的 不愛吃豆芽的菜 剛生完寶寶兩個月的老母親來答。我爸媽在家幫我帶孩子,他們堅持認為安撫奶嘴是洪水猛獸,一旦用了就跟吸了毒一樣。所以寶寶哼哼唧唧不肯睡,不餓卻想喝奶的時候,我媽就堅持...