Come catturare javascript eccezioni / errori? (A loro log sul server)
-
13-09-2019 - |
Domanda
Duplica:
Come potrei fare per la registrazione errori in JavaScript? Non posso avvolgere ogni linea di javascript nel blocco try catch.
I parlare di errori che, ad esempio in IE, mostrerebbero un errore in un messaggio di pagina e avere la linea e salmerino del causato l'errore. Se riesco a capire come prendere questo errore sul lato client, posso solo registrare l'errore sul server utilizzando una chiamata AJAX.
Soluzione
Io uso questa funzione in tutti i miei progetti:
window.onerror = function(m,u,l){
jQuery.post("ajax/js_error_log.php",
{ msg: m,
url: u,
line: l,
window: window.location.href });
return true};
Assicurarsi che sia la prima JavaScript il browser riceve o almeno precede ogni codice potenzialmente causare errori. Richiede jQuery, naturalmente, ma è possibile codificare le funzioni ajax in puro JavaScript se si voleva.
Si prega di notare: questo non vi aiuterà se si dispone di un errore di sintassi. Tutti javascript muore all'istante se v'è un errore di sintassi.