analyzeError static method

ParcmeiErrorAnalysis analyzeError(
  1. String codigo,
  2. String mensagem
)

Implementation

static ParcmeiErrorAnalysis analyzeError(String codigo, String mensagem) {
  final errorInfo = _errors[codigo];

  if (errorInfo != null) {
    return ParcmeiErrorAnalysis(
      codigo: codigo,
      mensagem: mensagem,
      errorInfo: errorInfo,
      categoria: errorInfo.categoria,
      solucao: errorInfo.solucao,
    );
  }

  // Análise baseada no conteúdo da mensagem
  String categoria = 'Erro Desconhecido';
  String? solucao;

  if (mensagem.toLowerCase().contains('sucesso')) {
    categoria = 'Sucesso';
  } else if (mensagem.toLowerCase().contains('aviso')) {
    categoria = 'Aviso';
  } else if (mensagem.toLowerCase().contains('inválido') ||
      mensagem.toLowerCase().contains('incorreto') ||
      mensagem.toLowerCase().contains('formato')) {
    categoria = 'Entrada Incorreta';
    solucao = 'Verifique os dados de entrada e tente novamente.';
  } else if (mensagem.toLowerCase().contains('não encontrado')) {
    categoria = 'Erro';
    solucao = 'Verifique se os dados informados estão corretos.';
  } else if (mensagem.toLowerCase().contains('indisponível') ||
      mensagem.toLowerCase().contains('timeout')) {
    categoria = 'Erro';
    solucao = 'Tente novamente em alguns minutos.';
  }

  return ParcmeiErrorAnalysis(
    codigo: codigo,
    mensagem: mensagem,
    categoria: categoria,
    solucao: solucao,
  );
}