Tratamento de erros na API DO TOM (AMO-TOM)
Aplica-se a: SQL Server 2016 e posteriores do Analysis Services Azure Analysis Services Fabric/Power BI Premium
Uma prática comum para bibliotecas gerenciadas, como AMO (Analysis Services Management Objects) Tabular Object Model (TOM), é usar exceções como um mecanismo para relatar condições de erro ao usuário.
Quando um erro é detectado no AMO-TOM, além de gerar poucas exceções padrão do .NET, como ArgumentException e InvalidOperationException, o TOM também pode gerar várias exceções específicas do TOM.
As exceções TOM são derivadas da Classe AmoException, abrangendo exceções específicas de AMO e TOM.
Para ilustrar o tratamento de exceções no TOM, vamos examinar uma das exceções mais comuns, que é a Classe OperationException.
OperationException é gerada quando um usuário inicia uma operação no servidor do Analysis Services e o servidor falha ao executar uma operação, seja porque a ação foi ilegal ou devido a outro erro interno ou externo.
Quando lançado, o objeto OperationException conterá uma lista de erros XMLA retornados pelo servidor.
Observe que o servidor não aceitará alterações inválidas. Se isso ocorrer, reverter a árvore Modelo de volta para o último estado válido conhecido usando o Método UndoLocalChanges, corrija o modelo e reenvie.
Exemplo de código: tratar exceções
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 );
}
}
Próximas etapas
Outras exceções relevantes incluem o seguinte: