处理 TOM API (AMO-TOM) 中的错误
适用于:SQL Server 2016 及更高版本的 Analysis Services Azure Analysis Services Fabric/Power BI Premium
对于托管库(如 Analysis Services 管理对象 (AMO) 表格对象模型 (TOM) )的常见做法是使用异常作为向用户报告错误条件的机制。
在 AMO-TOM 中检测到错误时,除了引发几个标准 .NET 异常(如 ArgumentException 和 InvalidOperationException)外,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 );
}
}
后续步骤
其他相关异常包括: