程式中三種不同的出錯處理方式比較

2021-07-04 01:51:01 字數 1008 閱讀 9711

在程式設計中,常用下列3種不同的出錯處理方式:

(1)用exit終止執行並報告錯誤

(2)以函式的返回值區別正確或錯誤返回

(3)設定乙個整型變數的函式引數以區別正確返回或某種錯誤返回

它們有什麼樣的優缺點呢?

第一種:用exit語句退出,是應用於發生關鍵性錯誤,比如你想開啟檔案並用於讀取或寫如時,或者動態分配記憶體空間時發生錯誤,如果不退出程式在後面對檔案描述符或者分配的記憶體使用的話會發生嚴重錯誤,於是在這種錯誤的時候就必須用exit語句退出程式.

第二種:當某個函式要完成某個特定任務,並將是否成功完成該任務的結果返回給呼叫這個函式的程式的時候,比如自己寫的乙個對socket讀寫的函式,想往 socket裡寫1000個位元組的資料,如果寫入正常則程式就執行下一不操作,如果寫入錯誤則程式要提示使用者重試,此時就需要返回不同的值來區別不同的狀 態.

第三種:用得少,通常用於該函式的執行結果對主程序沒有嚴重的影響的時候.

1)用exit語句終止執行並報告錯誤,沒有**占用的資源,但一般不會出現問題,作業系統會自動**。另外,退出地點太多不利於除錯。如果封裝乙個exit除錯函式就另當別論.

2)以函式的返回值區別正確返回或錯誤返回比較容易發現錯誤的地方,不會直接終止程式的執行.但是判斷太多,必須人工維護乙份錯誤值列表,尤其是在寫了越來越多的函式,錯誤值也越來越多的時候

3)這個應該是省去了(2)的人工維護錯誤值列表. 應該是3個方法裡比較好的吧..

1::用exit語句終止,並返回報告錯誤。致命錯誤這麼做,如果是要開啟的檔案不存在之類的錯誤就不要exit了。

2:以函式的返回值區別正確返回或錯誤返回如果你不關心為什麼出錯的話用這種

3:設定乙個整型變數的函式引數以區別正確返回或某種錯誤返回需要了解錯誤的詳細原因用這個。

exit用於程式執行下去沒有意義的時候,如果不是致命錯誤,盡量不要使用exit退出,大部 分的錯誤都應該可以用程式作出適當的處理,沒有人喜歡用乙個動不動就出錯退出的軟體。是否使用第2,3種處理方式要看在你的上下文中是否有處理這個錯誤的 足夠資訊,要看上層是否關心這個錯誤.

Session的三種處理方式

簡單來說,session就是伺服器給客戶端的乙個編號,當一台web伺服器執行時,可能 是有多個使用者都在瀏覽這台伺服器上的 當每個使用者首次與這台伺服器建立連線時,它就與這個伺服器建立了乙個session,同時伺服器就會自動為其分 配乙個sessionid,用以標識這個使用者的唯一身分,這個sess...

程式設計中的三種不同出錯的處理方式及其優缺點

文章 在程式設計中,常用下列3種不同的出錯處理方式 1 用exit終止執行並報告錯誤 2 以函式的返回值區別正確或錯誤返回 3 設定乙個整型變數的函式引數以區別正確返回或某種錯誤返回 它們有什麼樣的優缺點呢?第一種 用exit語句退出,是應用於發生關鍵性錯誤,比如你想開啟檔案並用於讀取或寫如時,或者...

對於spark sql中三種join方式的通俗總結

spark中的三種join方式 1 broadcast join 適用於小表與大表的join,其中小表小於10m,本質上是去用空間換時間,也就是將小表傳送到每個大表對應的節點上,然後依次去遍歷大表中的每個關聯鍵去和對應小表中的關聯鍵去匹配,找到相等的進行關聯,並不會走shuffle過程,因此最終的檔...