Fehlerbehandlung und Meldungen für Community-Connectors

Für eine gute Nutzererfahrung sollte Ihr Code Fehler korrekt verarbeiten. Nutzer erhalten umsetzbare Fehlermeldungen, die Korrekturmaßnahmen zum Beheben des Problems beschreiben.

In diesem Dokument werden Fehler beschrieben, die bei Connectors auftreten können. Außerdem erfahren Sie, wie Fehlermeldungen funktionieren und wie Sie mit Connector-Fehlern umgehen.

Informationen: Weitere Informationen zum Umgang mit Ausnahmen in JavaScript finden Sie unter try...catch-Anweisung.

Fehlertypen

Die Arten und Ursachen von Fehlern, die bei der Verwendung Ihres Connectors auftreten können, lassen sich in der Regel einer der folgenden drei Kategorien zuordnen:

  1. interne Fehler beim Connector
  2. externe Connector-Fehler
  3. Looker Studio-Fehler

Interne und externe Fehler beim Connector sollten vom Connector-Entwickler behoben werden. Diese Fehler werden durch vom Entwickler erstellten Code verursacht.

Interner Connector-Fehler

Beim Ausführen des Connectors treten interne Fehler auf. Das ist beispielsweise der Fall, wenn ein Connector während der Ausführung von getData() keine API-Antwort parsen kann. Diese Fehler sollten frühzeitig erkannt und gegebenenfalls mit nutzerfreundlichen Erklärungen behandelt werden.

Weitere Informationen zum Umgang mit internen Fehlern in Connectors finden Sie unter Best Practices für den Umgang mit Connector-Fehlern.

Externer Connector-Fehler

Externe Connector-Fehler treten nach der Connector-Ausführung auf. Das ist beispielsweise der Fall, wenn eine getData()-Anfrage für drei Felder nur Daten für zwei zurückgibt. Die Ausführung des Connectors wurde zwar abgeschlossen, die Anfrage von Looker Studio wurde jedoch nicht erfüllt. Gründliche Tests können diese Fehler verhindern.

Externe Connector-Fehler können normalerweise behoben werden, indem Sie die Fehlerdetails (falls verfügbar) überprüfen und den Code debuggen, um das Problem zu identifizieren. Weitere Informationen zum Debuggen des Connectors finden Sie unter Codefehler beheben.

Looker Studio-Fehler

Looker Studio-Fehler sind Fehler, die nicht mit Ihrem Connector-Code zusammenhängen. Dies ist beispielsweise der Fall, wenn ein Nutzer versucht, ein Zeitreihendiagramm mit einer Datenquelle ohne Datums-/Uhrzeitdimension zu verwenden.

Wenn der Fehler nicht direkt mit dem Connector zusammenhängt, muss der Connector-Entwickler nichts unternehmen. Weitere Informationen finden Nutzer in der Looker Studio-Hilfe.

Fehlermeldungen

Fehlerdetails basierend auf dem Administratorstatus anzeigen

Wenn ein Connector einen Fehler ausgibt, zeigt Looker Studio diese Fehlermeldung je nach Administratorstatus des Nutzers an.

  • Wenn der Nutzer ein Administrator ist, sieht er alle Details. Dazu gehören die Fehlermeldung, der Fehlertyp und der Stacktrace.
  • Wenn der Nutzer kein Administrator ist, werden nur dann Details angezeigt, wenn der Fehler eine nutzerfreundliche Meldung enthält. Weitere Informationen zum Anzeigen von Fehlermeldungen für Nutzer, die keine Administratoren sind, finden Sie unter Auswerfen von Fehlern, die dem Nutzer angezeigt werden.

Nutzerseitige Fehler auslösen

Standardmäßig sehen nur Connector-Administratoren Fehlerdetails. So wird die versehentliche Offenlegung vertraulicher Informationen wie eines API-Schlüssels in einem Stacktrace verhindert. Wenn Sie Nutzern ohne Administratorberechtigungen Fehlermeldungen anzeigen möchten, verwenden Sie im Looker Studio Apps Script-Dienst die Methode newUserError().

Beispiel:

try {
  // API request that can be malformed.
  getDataFromAPI();
} catch (e) {
  DataStudioApp.createCommunityConnector()
      .newUserError()
      .setDebugText('Error fetching data from API. Exception details: ' + e)
      .setText('There was an error communicating with the service. Try again later, or file an issue if this error persists.')
      .throwException();

}

In diesem Beispiel legt setText() den Text fest, der allen Nutzern angezeigt wird, während setDebugText() den Text festlegt, der nur Administratoren angezeigt wird.

Best Practices für die Behebung von Connector-Fehlern

Sie sollten versuchen, während der Ausführung Ihres Connector-Codes so viele Fehler wie möglich zu erfassen und zu beheben. Einige häufige Vorgänge, die Fehler oder einen unerwünschten Zustand verursachen können, sind beispielsweise:

  • Ein fehlgeschlagener URL-Abrufversuch (vorübergehende Fehler, Zeitüberschreitungen)
  • Für den angeforderten Zeitraum sind keine Daten verfügbar
  • Daten aus der API können nicht geparst oder formatiert werden
  • Autorisierungstokens wurden widerrufen

Beheben von behebbaren Fehlern

Punkte der Connector-Ausführung, die fehlschlagen können, aber wiederherstellbar sind, sollten behandelt werden. Wenn beispielsweise eine API-Anfrage aus nicht schwerwiegenden Gründen fehlschlägt (z.B. durch Serverlastverteilung), sollte der Versuch wiederholt werden, bevor ein Fehler ausgegeben wird.

Fangen und Wurffehler

Nicht behebbare Fehler sollten abgefangen und noch einmal ausgelöst werden. Der erneut ausgelöste Fehler sollte Nutzern helfen zu verstehen, warum der Fehler aufgetreten ist. Wenn das Problem behoben werden kann, sollten Sie Details zur Korrektur angeben.

Weitere Informationen finden Sie unter Auslösen von nutzerseitigen Fehlern.

Fehler in Stackdriver protokollieren

Mit Stackdriver können Sie Fehler und andere Meldungen protokollieren. Dies hilft beim Verständnis von Fehlern, beim Beheben von Problemen und beim Auffinden unbehandelter Ausnahmen.

Weitere Informationen zu Stackdriver Error Reporting, zum Aktivieren des Ausnahme-Loggings für ein Skript und zum sicheren Identifizieren von Nutzern zu Debugging-Zwecken finden Sie unter Stackdriver Logging verwenden.

EINGESTELLT: Verwenden Sie das Präfix DS_USER: für sichere Fehlermeldungen

Damit Nutzer, die keine Administratoren sind, nutzerfreundliche Fehlermeldungen erhalten, geben Sie das Präfix DS_USER: mit Fehlermeldungen an. Dieses Präfix wird verwendet, um sichere Nachrichten für Nutzer zu identifizieren, die keine Administratoren sind, und ist nicht in der eigentlichen Fehlermeldung enthalten.

In den folgenden Beispielen sehen Nutzer, die keine Administratoren sind, eine Fehlermeldung. In anderen Fällen wird eine Fehlermeldung nur für Administratoren angezeigt:

data-studio/errors.gs
// Admin and non-admin users will see the following error.
try {
  // Code that might fail.
} catch (e) {
  throw new Error('DS_USER:This will be shown to admin & non-admin.');
}

// Only admin users will see the following error.
try {
  // Code that might fail.
} catch (e) {
  throw new Error('This message will only be shown to admin users');
}