OCR-NER-Facturas / error_handler.py
Lucas Gagneten
DocTR
a3dc003
import gradio as gr
class ErrorHandler:
"""Clase para manejar errores y mostrarlos en un diálogo flotante."""
@staticmethod
def show_error(title: str, error: Exception = ''):
"""Muestra un mensaje de error en un diálogo flotante de Gradio."""
# Se asegura de que se pase un mensaje de error si el objeto Exception está vacío
error_message = str(error) if error else "Ocurrió un error inesperado."
# raise gr.Error() es la forma estándar de mostrar errores en Gradio
raise gr.Error(
title=title,
message=error_message
)
@staticmethod
def handle_ocr_error(error: Exception):
"""
Maneja errores específicos del proceso de OCR (ahora con Doctr).
Nota: Doctr utiliza modelos basados en PyTorch/TensorFlow, por lo que
los errores suelen ser de tipo genérico (Exception) o relacionados con
la carga de modelos/GPU.
"""
ErrorHandler.show_error("Error durante el OCR con Doctr", error)
@staticmethod
def handle_file_error(error: Exception):
"""Maneja errores relacionados con archivos."""
ErrorHandler.show_error("Error al procesar el archivo", error)
@staticmethod
def handle_export_error(error: Exception):
"""Maneja errores durante la exportación."""
ErrorHandler.show_error("Error durante la exportación", error)