处理 TOM API (AMO-TOM) 中的错误

适用于:SQL Server 2016 及更高版本的 Analysis Services Azure Analysis Services Fabric/Power BI Premium

对于托管库(如 Analysis Services 管理对象 (AMO) 表格对象模型 (TOM) )的常见做法是使用异常作为向用户报告错误条件的机制。

在 AMO-TOM 中检测到错误时,除了引发几个标准 .NET 异常(如 ArgumentExceptionInvalidOperationException)外,TOM 还可以引发多个特定于 TOM 的异常。

TOM 异常派生自 AmoException 类,涵盖 AMO 和 TOM 特定的异常。

为了说明 TOM 中的异常处理,让我们回顾一个更常见的异常,即 OperationException 类

当用户在 Analysis Services 服务器上启动操作并且服务器无法执行操作时,将引发 OperationException,原因是该操作是非法的,或者由于另一个内部或外部错误。

引发时, 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 ); 
  } 
 } 

后续步骤

其他相关异常包括: