[IADP] 初探IADP的例外處理

  • 2627
  • 0
  • 2011-06-20

初探IADP的例外處理

如果你還不知道IADP是什麼,建議你先參考BillChung的幾篇文:

1. Intel AppUp developer program 簡介

2. IADP Member 帳號申請程序

3. IADP SDK 資源

4. IADP C#/VB.NET Sample Code 簡要說明

以及幾個API 文件:

1. SDK API Specifications

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 的兩三事