異常被捕獲後可以不做處理,程序從捕獲位置繼續執行,斷言是無法忽略的,程序在斷言失敗處立即終止。斷言通常用於調試版本,用來發現程序中的錯誤,雖然異常也能起到這樣的作用,但是不應該用異常代替斷言。
1)如果發生了邏輯錯誤,必須修改程序,而不可能在程序中進行處理和恢復,隨意不需要向外傳送,沒有必要使用異常。
2)使用斷言的開銷比異常小得多,而且斷言可以從發佈版完全去除。
異常用於處理爭取程序中的運行期問題(比如內存分配失敗,窗口創建失敗,線程創建失敗,打開文件失敗),以儘可能回覆,而不是終止程序,對於運行異常,使用斷言是非常不合適的,理由很顯然
1)斷言在發佈版不起作用
2)斷言的處理方式不夠友好
3)運行異常不是程序錯誤,沒有必要報告源碼出錯位置。
斷言和異常的區別
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
nginx反向代理與證書設置
hiningrise
2024-04-30 14:25:14
免費證書certbot-aliyun
hiningrise
2024-04-30 14:25:14
通過Http鏈接地址爬取有贊微信商城商品信息及下載至EXCEL
冰臨神下
2024-04-30 14:22:03
多人同時導出 Excel 幹崩服務器!新來的阿里大佬給出的解決方案太優雅了!
Java技術棧
2024-04-30 14:21:33
golang將uint32與byte[]互轉
藍天上的雲℡
2024-04-30 14:21:33
Linux內核源碼-存儲驅動之 QSPI Flash
藍天上的雲℡
2024-04-30 14:21:33
python找不到自己的寫的庫包或者文件
import sys sys.path.append('../..') sys.path.append('.') sys.path.append('./') 把這些路徑都加入sys.path就找到了.
張博的博客
2024-04-30 14:20:02
符文Runes協議技術詳解
深藍
2024-04-30 14:18:02
《最新出爐》系列入門篇-Python+Playwright自動化測試-41-錄製視頻
北京-宏哥
2024-04-30 14:14:41
MFC文本設置字體發虛的問題
孤獨的貓
2024-04-30 14:13:31
算法~利用zset實現滑動窗口限流
張佔嶺
2024-04-30 14:12:40
springboot~AutoConfigureAfter如何控制Bean的注入順序
張佔嶺
2024-04-30 14:12:40