⁉️Custom Error Helper

custom_error_helper.dart

Este arquivo existe e mantém uma única função de nome customErrorHelper. Esta função foi criada principalmente para ser utilizado dentro do catch das chamadas para API.

Essa função recebe como paramêtros o context, e um objeto dynamic de error, podendo ser uma simples Exception, um DioError, etc.

Então a função serve para que quando uma chamada para API retorne um erro, o usuário já tenha uma resposta visual relacionada a isso na tela, e a função faz uso do showConfirmationDialogHelper, mostrado na seção anterior.

Dentro da função é possível customizar para que o dialog/modal mostre a mensagem que retorna diretamente da API, dependendo do seu formato utilizado. Abaixi um exemplo de como isso pode ser feito, após a checagem de ser um DioErro e possuir uma response:

if (e is DioError) {
    if (e.response != null) {
      showConfirmationDialogHelper(
        body:
            // FORMATO PARA PEGAR ERRO DIRETO DA RESPONSE DA API, VAI DEPENDER DO FORMATO QUE CADA BACKEND RETORNAR
            e.response!.data['display_error'] ?? "Ocorreu um erro inesperado.",
        confirmButtonText: 'OK',
        context: context,
        title: 'Erro',
      );
    } else {
      showConfirmationDialogHelper(
        body: "Ocorreu um erro inesperado.",
        confirmButtonText: 'OK',
        context: context,
        title: 'Erro',
      );
    }
  }

Abaixo um exemplo de uso da função em uma action:

Last updated