Para informes de errores, me gustaría insertar un contenedor try-catch alrededor del código de cada función que tengo.¿Hay alguna manera de agregar try-catch a cada función en Javascript?
Así que, básicamente quiero reemplazar
function foo(arg){
bar();
}
... ... con
function foo(arg){
try {
bar()
}
catch(e){
customErrorHandler(e)
}
}
¿Hay una manera de aplicar esta cosa try-catch genérica a todas las funciones sin necesidad de editar manualmente todos ¿de ellos? Por ejemplo, modificando el prototipo del objeto Function?
EDITAR
¿Por qué quiero try-catch todas mis funciones: Estoy construyendo una aplicación HTML5 que estoy publicando en iOS y Android. Puedo ver por mi rudimentario error de javascript actual que, aunque la aplicación funciona bien en mi propio dispositivo, se producen errores en algunos otros dispositivos.
Mi objetivo es doble: cada vez que se produce un error de JavaScript en el dispositivo de alguien ...
- Quiero notificar al usuario que la aplicación no funcione perfectamente
- Quiero saber más o menos donde el error ocurrió, así que sé dónde buscar el problema
No, simplemente podría envolver la función * invocation * en un try-catch, pero no su contenido si la función no contiene un try-catch. Por lo que vale, cubrir tu código con declaraciones try-catch es una muy mala idea. Si hay un error, debe resolverlo, no permitir que ocurra, pero suprimirlo a través de try-catch. – Utkanos
+1 por querer probar apropiadamente atrapar todas tus funciones. Sin embargo, creo que vas a tener que editarlos todos manualmente. – Limey
Try-catch es muy caro. ¿Seguro que quieres hacer esto? ¿Cuál es el requisito? –