Manejo de errores y mensajes para los conectores de la comunidad

Para proporcionar una buena experiencia del usuario, tu código debe manejar los errores correctamente. Presenta a los usuarios mensajes de error prácticos que describan los pasos correctivos para resolver el problema.

Este documento describe los errores que pueden ocurrir con los conectores, cómo cómo funcionan los mensajes y cómo manejar correctamente los errores del conector.

Información: Para saber más sobre el manejo de excepciones en JavaScript, consulta Instrucción try...catch.

Tipos de errores

Los tipos y las causas de los errores que un usuario puede encontrar cuando utiliza tus del conector suelen pertenecer a una de las siguientes tres categorías:

  1. errores internos del conector
  2. errores del conector externo
  3. Errores de Looker Studio

El conector debe controlar los errores internos y externos. desarrollador. Estos errores ocurren debido al código creado por el desarrollador.

Error interno del conector

Se producen errores internos del conector durante la ejecución del conector. Por ejemplo, si un el conector no puede analizar una respuesta de la API durante la ejecución de getData(). Estos errores se deben anticipar y manejar con explicaciones fáciles de usar. cuando corresponda.

Para obtener más información sobre cómo manejar los errores internos del conector, consulte la Prácticas recomendadas para manejar errores de conectores.

Error externo del conector

Se producen errores externos del conector después de la ejecución del conector. Por ejemplo, cuando un La solicitud de getData() para tres campos solo muestra los datos de dos. Si bien el el conector completó la ejecución, no cumplió con la solicitud de Looker a Looker Studio. Realizar pruebas exhaustivas puede evitar estos errores.

Por lo general, los errores externos del conector se pueden corregir revisando los detalles del error (si disponibles) y depurar el código para identificar el problema. Para obtener más información depurar tu conector, consulta Depura tu código.

Error de Looker Studio

Los errores de Looker Studio son errores no relacionados con el código de tu conector. Por ejemplo: si un usuario intenta usar un gráfico de serie temporal con una fuente de datos sin en la dimensión de fecha/hora.

Si el error no está directamente relacionado con el conector, entonces no hay ninguna acción que debe realizar el desarrollador del conector. Los usuarios pueden encontrar ayuda adicional en el Centro de ayuda de Looker Studio.

Mostrando mensajes de error

Se muestran los detalles del error según el estado del administrador

Cuando un conector arroja un error, Looker Studio muestra el mensaje de error según el estado de administrador del usuario.

  • Si el usuario es un usuario administrador, verá todos los detalles. Esto incluye el mensaje de error, el tipo de error y el seguimiento de pila.
  • Si el usuario no es un usuario administrador, solo verá los detalles si el incluye un mensaje fácil de usar. Para obtener más información sobre cómo mostrar errores para los usuarios que no son administradores, consulta Muestra de errores dirigidos a usuarios.

Muestra errores orientados al usuario

De forma predeterminada, solo los administradores de conectores ven los detalles del error. Esto ayuda a evitar divulgación involuntaria de información sensible, como una clave de API en una pila seguimiento. Para mostrar los mensajes de error a los usuarios que no son administradores, usa newUserError() desde Servicio de Apps Script de Looker Studio.

Ejemplo:

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

}

En este ejemplo, setText() establece el texto que se mostrará a todos los usuarios. mientras que setDebugText() establece el texto que solo se mostrará a los usuarios administradores.

Prácticas recomendadas para manejar los errores del conector

Debes intentar detectar y manejar tantos errores como sea posible durante la ejecución del código del conector. Por ejemplo, algunas operaciones comunes que pueden causar errores o un estado no deseado, incluyen:

  • Un intento de recuperación de una URL con errores (errores transitorios y tiempos de espera)
  • No hay datos disponibles para el período solicitado
  • No se pueden analizar ni formatear los datos de la API
  • Se revocaron los tokens de autorización

Soluciona errores recuperables

Los puntos de ejecución del conector que pueden fallar, pero que se pueden recuperar que se encarguen de su administración. Por ejemplo, si una solicitud a la API falla por un motivo recuperable (p.ej., reducción de la carga del servidor), debería volver a intentarlo antes de arrojar un error.

Errores de captura y lanzamiento

Los errores no recuperables se deben detectar y volver a arrojar. El error que se vuelve a arrojar debería ayudar a los usuarios a entender por qué ocurrió el error. Si el problema se puede solucionar se deben proporcionar los detalles de la medida correctiva.

Consulta cómo arrojar errores orientados al usuario.

Registrar errores en Stackdriver

Usar Stackdriver para registrar errores y otros mensajes Esto ayuda con comprender errores, depurar problemas y descubrir excepciones no controladas.

Para obtener más información sobre Stackdriver Error Reporting, cómo habilitar el registro de excepciones para una secuencia de comandos y cómo identificar de manera segura a los usuarios con fines de depuración, consulta Usa Stackdriver Logging.

OBSOLETO: Usa el prefijo DS_USER: para los mensajes de error seguros

Para proporcionar mensajes de error fáciles de usar a usuarios que no son administradores, incluye Prefijo DS_USER: con mensajes de error. Este prefijo se usa para identificar para los usuarios que no son administradores y no se incluye en el mensaje de error real.

Los siguientes ejemplos incluyen un caso en el que se mostrará un mensaje de error a usuarios que no son administradores, donde solo el administrador verá un mensaje de error usuarios:

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