Freigeben über


Behandeln von Fehlern in der TOM-API (AMO-TOM)

Gilt für: SQL Server 2016 und höher analysis Services Azure Analysis Services Fabric/Power BI Premium

Eine gängige Praxis für verwaltete Bibliotheken wie das tabellarische Objektmodell (Tom) von Analysis Services Management Objects (AMO) besteht darin, Ausnahmen als Mechanismus zum Melden von Fehlerbedingungen an den Benutzer zu verwenden.

Wenn in AMO-TOM ein Fehler erkannt wird, kann TOM neben einigen .NET-Standardausnahmen wie ArgumentException und InvalidOperationException auch mehrere TOM-spezifische Ausnahmen auslösen.

TOM-Ausnahmen werden von der AmoException-Klasse abgeleitet, die sowohl AMO- als auch TOM-spezifische Ausnahmen abdeckt.

Um die Ausnahmebehandlung in TOM zu veranschaulichen, sehen wir uns eine der häufigsten Ausnahmen an, nämlich die OperationException-Klasse.

OperationException wird ausgelöst, wenn ein Benutzer einen Vorgang auf dem Analysis Services-Server initiiert und der Server einen Vorgang nicht ausführen kann, entweder weil die Aktion unzulässig war oder aufgrund eines anderen internen oder externen Fehlers.

Wenn es ausgelöst wird, enthält das OperationException-Objekt eine Liste von XMLA-Fehlern, die vom Server zurückgegeben werden.

Beachten Sie, dass der Server keine ungültigen Änderungen akzeptiert. Wenn dies der Fall ist, rückgängig machen die Modellstruktur mithilfe der UndoLocalChanges-Methode wieder in den letzten als fehlerfrei bekannten Zustand zurück, korrigieren Sie das Modell, und übermitteln Sie dann erneut.

Codebeispiel: Behandeln von Ausnahmen

 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 ); 
  } 
 } 

Nächste Schritte

Weitere relevante Ausnahmen sind die folgenden: