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)