初探IADP的例外處理
如果你還不知道IADP是什麼,建議你先參考BillChung的幾篇文:
1. Intel AppUp developer program 簡介
3. IADP SDK 資源
4. IADP C#/VB.NET Sample Code 簡要說明
以及幾個API 文件:
2. SDK API Specifications for C++
3. Developer Guide
所謂『天有不測風雲、人有旦夕禍福』,即便你的系統寫的再好,總會有意外產生,所以我們才要投保意外險作例外處理。
IADP 提供開發者兩種方式來處理:
第一種是Exception:
一共有六個Exception類別:基底類別是AdpException,兩個AdpException的延伸類別: AdpErrorException 及 AdpWarningException。
以及三個延伸自AdpErrorException的類別:InitializationException、UnauthorizedException、AdpRuntimeException。
第二種則是Crash Report:
IADP 提供了一個預設的CrashReport類別:DefaultCrashReport,繼承自抽象基底類別:AbstractCrashReport。這裡提供開發者可以自訂Crash Report。
要使用自訂Crash Report,你可以定義一個繼承自DefaultCrashReport的類別。
並且依你的需要自行override以下的public method:PopulateModuleName, PopulateLineNumber, PopulateMessage, PopulateCategory,PopulateCategory,PopulateErrorData, PopulateCrashReportFields。
其中PopulateCrashReportFields 提供開發人員可以將自訂的資料以<Name , Value>的型式輸出到Crash Report。
至於輸出的Crash Report會在哪呢? 可以參考小朱的 [IADP Series] 關於 Intel AppUp Software Debugger 的兩三事