斷言位置的選擇 誰犯錯誰異常

2021-08-30 16:53:13 字數 385 閱讀 7699

比如某gen_server:

...

hello(a,b,c) when is_atom(a),is_integer(b),is_binary(c) ->

gen_server:cast(?server,).

handle_cast(, state} ->

....

....

將斷言加在hello/3上顯然比加在handle_cast/2上合理。

如果將斷言加在handle_cast上,呼叫發起方出錯將造成此server無故重啟甚至失效,無法為其他程序提供服務,而作為出錯的呼叫方卻不受影響。

將斷言加於hello上,呼叫方將因自己的錯誤發生異常,從而正確的報告異常或者擁有重啟恢復的機會,也不會影響目標服務和其他程序。

Python 中的斷言與異常該怎麼選擇?

異常,在程式執行時出現非正常情況時會被丟擲,比如常見的名稱錯誤 鍵錯誤等。斷言,判斷某個表示式的真假,真則程式繼續執行,否則丟擲 assertionerror 異常。理解這兩個概念不難,但是什麼時候使用誰卻讓很多開發者難以選擇。本文呢,我會舉一些例子,說明使用斷言或異常的合適場景,並作小結。當然,只...

在前端裡,誰的位置不可少!怎麼提高中標率?

最近一直在公司的事情,因為我們組的2個人請的長期假期,造成前端的資源一度緊張,又是臨近年終,公司各個產線忙各種招標的事情,而招標的事情是要開發乙個針對招標需求的乙個系統,說白拉就是開發乙個不需要後端的支援的乙個前端系統,包括資料盡量真實,前端業務盡量完美!哎,壓力山大 默默吐糟產品經理 其實在我沒來...

翻譯機與翻譯手機大測評誰才是你的最佳選擇

隨著近年來人民生活水平的不斷提公升,國內遊已經漸漸不能滿足人們日益增長的旅遊需求,越來越多的人會在假期選擇出國旅遊。據悉,2017 年中國國內居民出境旅遊人次達1.3 億,然而這億萬出境遊旅客都面臨著幾大難題 語言不通 對景點不了解,上網不便,而這些需求也給人工智慧翻譯機的發展帶來了機會。作為領先業...