Sto sviluppando un'applicazione DHTML/Javascript che si basa su alcune funzioni avanzate (manipolazione DOM, AJAX, comunicazione Flash e altro). Sono molto preoccupato per la funzionalità - se si verificano problemi, anche dopo che l'applicazione è stata implementata, voglio essere sicuro di sapere perché e come risolverli - e inoltre, voglio assicurarmi che l'utente possa continuare a usare l'applicazione, possibilmente con funzionalità ridotte se l'eccezione era grave.Robusta gestione delle eccezioni Javascript
Attualmente dispongo di un sistema di gestione delle eccezioni e della registrazione costruito in base al quale le funzioni possono generare registri e, se viene rilevata un'eccezione, tutti i registri mi vengono inviati via email. Il sistema funziona bene, ma mi piacerebbe renderlo più robusto. Sto cercando suggerimenti.
Un'idea che ho è di racchiudere il corpo di ogni funzione javascript in un blocco try/catch e al rilevamento di un'eccezione, registrare il nome della funzione e quindi lanciare l'errore al gestore globale. Ma questo è un sacco di codice solo per rintracciare la funzione in cui si è verificata l'eccezione.
Qualche idea per rendere le eccezioni del runtime più facili da trovare e riprodurre?
In realtà sto già recuperando tutte le eccezioni con il mio gestore di eccezioni gloabl e utilizzando anche il suo stack trace ... il problema è, in IE (dove si verificano la maggior parte degli errori) la traccia è solo una lunga lista di "funzioni anonime" e in realtà non mi dà alcun indizio su dove sia effettivamente avvenuta l'eccezione ... – Josh
Nessun altro ha risposto a questo ... quindi immagino che la tua risposta sia la migliore ... :-) – Josh
@Josh - Credo in 'finestra .onerror' potrebbe non rilevare errori nei gestori di eventi jQuery - http://stackoverflow.com/questions/205688/javascript-exception-handling – ripper234