3 回答

TA貢獻(xiàn)1844條經(jīng)驗(yàn) 獲得超8個(gè)贊
不,這不對(duì)??只啪拖瘛跋葘?xiě)然后中止”,而斷言就像“測(cè)試,如果它為假,則先寫(xiě)然后中止”。無(wú)論如何,他們無(wú)法阻止您做出類(lèi)似斷言的聲明。

TA貢獻(xiàn)1719條經(jīng)驗(yàn) 獲得超6個(gè)贊
除了顯而易見(jiàn)的是,它panic
并不會(huì)檢查任何東西assert
,在Go中,即使發(fā)生恐慌,您也可以使用機(jī)制進(jìn)行錯(cuò)誤處理。
如果程序包認(rèn)為發(fā)生了某些事情,則無(wú)法從它中驚慌失措。
但是,包用戶(hù),調(diào)用方(父級(jí))可能要檢查或記錄緊急情況,然后繼續(xù)進(jìn)行緊急情況,或者捕獲它以正確處理案件(例如,重試或使用其他程序包/功能)。
同樣,斷言中止不會(huì)調(diào)用析構(gòu)函數(shù)或任何東西。盡管Go中的恐慌仍然會(huì)調(diào)用您defer
將要執(zhí)行的函數(shù),所以一切都已清理干凈。
因此,正如您所看到的,與斷言相反,緊急情況將允許執(zhí)行各種清理任務(wù)。那就是你給的報(bào)價(jià)所指向的。
- 3 回答
- 0 關(guān)注
- 273 瀏覽
添加回答
舉報(bào)