Per la segnalazione degli errori, vorrei inserire un wrapper try-catch attorno al codice di ogni funzione che ho.C'è un modo per aggiungere try-catch ad ogni funzione in Javascript?
Quindi, fondamentalmente voglio sostituire
function foo(arg){
bar();
}
... con ...
function foo(arg){
try {
bar()
}
catch(e){
customErrorHandler(e)
}
}
Esiste un modo per applicare questa generica cosa try-catch a tutte le funzioni senza modificare manualmente tutti di loro? Ad esempio modificando il prototipo dell'oggetto Function?
EDIT
Perché voglio provare-cattura tutte le mie funzioni: Sto costruendo un app HTML5 che sto pubblicando su iOS e Android. Posso dire dal mio rudimentale errore javascript corrente che, anche se l'app funziona correttamente sul mio dispositivo, gli errori si verificano su altri dispositivi.
Il mio obiettivo è duplice: ogni volta che si verifica un errore javascript dispositivo di qualcuno ...
- voglio informare l'utente che l'applicazione potrebbe non funzionare perfettamente
- Voglio sapere approssimativamente dove l'errore si è verificato, quindi so dove guardare per il problema
No - si può semplicemente racchiudere l'invocazione * della funzione * in un try-catch, ma non i suoi contenuti se la funzione in realtà non contiene un try-catch. Per quello che vale, ricoprire il tuo codice con le dichiarazioni try-catch è una pessima idea. Se c'è un errore, dovresti risolverlo, non permetterlo, ma sopprimerlo tramite try-catch. – Utkanos
+1 per voler provare correttamente a catturare tutte le tue funzioni. Tuttavia, penso che dovrai modificarli tutti manualmente. – Limey
Il tentativo di cattura è molto costoso. Sei sicuro di volerlo fare? Qual è il requisito? –