處理 TOM API 中的錯誤 (AMO-TOM)

適用於: SQL Server 2016 和更新版本的 Analysis Services Azure Analysis Services Fabric/Power BI Premium

Analysis Services 管理物件 (AMO) 表格式物件模型 (TOM) 等 Managed 連結庫的常見做法是使用例外狀況作為向使用者報告錯誤狀況的機制。

在 AMO-TOM 中偵測到錯誤時,除了擲回幾個標準 .NET 例外狀況,例如 ArgumentExceptionInvalidOperationException,TOM 也可以擲回數個 TOM 特定例外狀況。

TOM 例外狀況衍生自 AmoException 類別,涵蓋 AMO 和 TOM 特定的例外狀況。

為了說明 TOM 中的例外狀況處理,讓我們檢閱其中一個較常見的例外狀況,這是 OperationException 類別

OperationException 會在使用者起始 Analysis Services 伺服器上的作業,而伺服器無法執行作業時,可能是因為動作是非法的,或是因為另一個內部或外部錯誤而無法執行作業。

擲回時,OperationException 物件將包含伺服器傳回的 XMLA 錯誤清單。

請注意,伺服器不接受無效的變更。 如果發生這種情況,請使用 UndoLocalChanges 方法,將 模型 樹狀結構還原回最後已知的良好狀態,然後重新提交。

程序代碼範例:處理例外狀況

 try 
 { 
  // Change the Model, for example create a table. 
  // … 
   model.saveChanges(); 
 } 
  catch(operationException ex) 
 { 
  foreach(XmlaError err in ex.Results.OfType<XmlaError>().cast<XmlaError>()) 
  { 
   Console.WriteLine("Error returned from the server:" + err.Messsage ); 
  } 
 } 

後續步驟

其他相關的例外狀況包括下列各項: