Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

138
Vistas
¿Puede envolver todos los métodos de instancia de mecanografiado en un único controlador de errores personalizado?

Me gustaría asegurarme de que, incluso cuando falla, el código de seguimiento de eventos en mi front-end nunca provoque un error que afecte al resto de la aplicación. El seguimiento de eventos lo manejan algunas clases personalizadas que se ocupan de etiquetar las noches y agregar las propiedades correctas:

 export class TaskTrackerService { constructor(private abstractTracker: TrackerService) { } // ------ created(task: Task): void { this. abstractTracker.track('Task created', this.taskProps(task)) } // ------ edited(task: Task): void { this.abstractTracker.track('Task edited', this.taskProps(task)) } // ------ private taskProps(task: Task): EventProperties{ return { id: task.id, task_title_char_count: task.title.length, task_duration_seconds: task.duration, completed: task.done, created_at: new Date(task.created_at) } } }

Esta clase contiene lógica que podría causar errores (por ejemplo, task.created_at es nulo en el código anterior) y quiero asegurarme de detectarlos antes de que causen daños.

Quiero proteger cuidadosamente este código con un cortafuegos

Quiero asegurarme de que cualquier error que se active en la clase de seguimiento no se propague en ningún otro lugar de la aplicación.

La única forma en que puedo pensar en hacer esto es agregar el manejo de errores para cada método de seguimiento individual como se muestra a continuación:

 export class TaskTrackerService { constructor(private abstractTracker: TrackerService) { } // ------ created(task: Task): void { try{ this.abstractTracker.track('Task created', this.taskProps(task)) } catch(error){ this.abstractTracker.trackError('Error occurred') } } ... }

¿Hay alguna forma de envolver todos los métodos de instancia en un único controlador de errores personalizado?

Para reducir la cantidad de código repetitivo, me gustaría algún medio para garantizar que todos los métodos instantáneos borbotean sus errores en un controlador de nivel de clase. Algo como esto:

 export class TaskTrackerService { constructor(private abstractTracker: TrackerService) { } // I know this isn't possible but... catchAll(error){ this.abstractTracker.trackError('Error occurred') } // ------ created(task: Task): void { this.abstractTracker.track('Task created', this.taskProps(task)) } ... }

¿Es posible algo así?

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda