我需要對我如何分類和處理錯誤/異常「優雅地」進行標準化。標準化錯誤分類和處理
我目前正在使用一個過程,通過它將錯誤報告給傳遞錯誤號,嚴重性代碼,位置信息和extra-info-string的函數。如果錯誤是致命的並且應用程序應該死亡,則此函數返回布爾值true,否則返回false。作爲其過程的一部分,除了對用戶的視覺反饋之外,該功能還會記錄超過某個嚴重級別的錯誤。
錯誤編號索引一個字符串數組,解釋錯誤類型,例如:'文件訪問','用戶輸入','線程創建','網絡訪問'等。嚴重性代碼是二進制或0,1,2或4,0 =信息性的,1 = user_retry,2 = cannot_complete,4 = cannot_continue。 Location-info是模塊&函數,Extra-info是參數和局部變量值。
我想把它變成一種標準的錯誤處理方式,我可以把它放在一個庫中並在所有的應用程序中重新使用。我主要在Linux上使用C/C++,但也希望將結果庫與其他語言/平臺一起使用。
一個想法是延長 錯誤類型的數組,表示對於給定的嚴重性級別的一些默認 行爲, 而應此則成爲所採取的 行動,並給 沒有選項的用戶?
或者:是否應將此擴展名設爲 用戶 需要從中選擇的選項子陣列? 的問題在於,必須將 的選項概括爲 與編程相關的選項,可能會很好地完全阻止最終用戶 。
或者:應該使用沿着自身的 陣列錯誤或默認 行爲的 錯誤的lib常規通每個應用程序 - 但是這將擊敗庫的 目的...
或者:應該在每個應用中處理嚴重性級別爲 ?
或者:你有什麼建議?你如何處理錯誤?我該如何改進?
你使用哪種語言? – 2008-09-25 05:34:24
C/C++(在Linux上) - 我會把答案放在已編輯的問題中,但是我的目標是用於任何語言的庫(我也使用perl,彙編器,php,...) – slashmais 2008-09-25 07:18:43