對C 中使用異常的一點想法

2021-04-07 07:57:28 字數 550 閱讀 2179

在使用c++開發應用程式的時候, 很多程式設計師非常鍾情於使用try...catch... 的異常捕獲機制.  這使得程式的錯誤被悄然無聲的掩蓋了, 對於使用者而言, 無論程式內部發生了什麼樣的問題,而表相上卻像無事一樣風平浪靜.

使用try...catch結構, 有時是一種逃避責任的方法.無論這段**隱含著什麼樣的隱患, 只需要用try...catch包裹起來,無論發生了什麼錯誤, 都不會讓程式崩掉,頂多彈出些提示的對話方塊或則重新將出現錯誤的執行緒重新起動.

如果我們使用的第三方軟體包本身要求try...catch機制,那麼因此而使用try...catch是無可厚非的. 但如果在程式設計時過分的去依賴try...catch,這無疑是程式設計上的敗筆.  因為使用try...catch,   可能使你在除錯時,可能無法準確的去定位錯誤的位置.這在除錯程式時會增加除錯的難度.  同時,  過多的使用try...catch,也使得程式的二進位制**的效率降低. 

所以, 我認為在程式設計中, 在必要的時候可以使用try...catch, 但不能過分的去依賴它, 把他當成偷懶的工具. 要更多的去利用返回值和細分模組來降低程式出錯的機率.

系統對異常的處理使用統一的異常處理流程

系統對異常的處理使用統一的異常處理流程。1 自定義異常型別。2 自定義錯誤 及錯誤資訊。3 對於可預知的異常由程式設計師在 中主動丟擲自定義異常型別的異常,丟擲異常時需要指定錯誤 4 對於不可預知的異常 執行時異常 由springmvc統一捕獲exception型別的異常,由統一的異常捕獲類來解析 ...

對C 異常一些深入的討論

異常 1.goto,break,return,continue和異常 在try塊內部,goto,break,return,continue 可以用來轉移程式流程,當這種情況發生時,在try塊內宣告的所有變數都會被釋放掉.cpp lab try catch catch 在上面的例子中,當goto語句執...

C 異常的使用

1.為什麼c 引進了異常概念 c語言中處理錯誤的方法有 終止程式,如assert。但是因為某個函式出錯而讓整個程式終止,這樣使用者是難以接受的 返回錯誤碼,缺陷 需要程式設計師自己去查詢對應的錯誤,維護成本高 c 標準庫中setjmp和longjmp 為了解決c語言這些不太友好的錯誤處理機制,c 才...

ros中使用c 對已錄bag解析套路

在自動駕駛中,有時在測試過程中無法對執行過程中的各個環節進行判斷,這時則需要使用ros中的錄包功能對執行中各個topic進行錄製,如果向一股腦的將所有topic進行錄製只需要運用一下命令對其錄製。rosbag record a include include 此處為include相關訊息類的標頭檔案...

C 中使用pb的dataWindow

使用方法詳細看 注意 需在 工具箱 中新增 新增選項卡 命名該選項卡後右擊選擇 選擇項 將dll檔案引用進來。出現問題1 缺少sybase引用,將目標框架改為 net framwork 4 此時會出現問題2.出現問題2 混合模式程式集是針對 v2.0.50727 版的執行時生成的,在沒有配置其他資訊...