2013-09-04 23 views
5

Sono nuovo di javascript. A volte l'errore arriva nel programma ma dopo averlo letto così tante volte l'errore non è ancora risolto. Difficile che gli errori siano troppo piccoli per entrare nel vista. per allontanarmi da questo userò l'evento onError o il blocco try try. Che sarà la buona pratica per farlo.cosa dovrei usare try e catch block o onerror event

O c'è un altro modo per scoprire l'errore o un errore nel programma in meno tempo ..

fatemelo sapere ..

+0

Presumo che tu abbia già [jslint-ed] (http://www.jslint.com/) il tuo javascript? – rene

+0

Dipende dal tipo di errore, puoi mostrare le parti rilevanti del tuo codice? – bfavaretto

+0

Personalmente preferisco provare - catturare –

risposta

3

Non è necessariamente bello dire che uno è migliore dell'altro. Per la tua situazione, ritengo che onerror sia facile e appropriato, in quanto consente di avvisare il messaggio di errore riportato da JavaScript senza dover riscrivere il codice all'interno dei blocchi try/catch.

codice demo con il gestore onerror in uno script autonomo aggiunto sopra il resto del codice della pagina, insieme a un errore di sintassi esempio che innesca un prompt che mostra il messaggio di errore JavaScript.

<script> 
onerror = function(m) { 
    return confirm(
     'Scripts on this page generated an error message: ' + 
     m + 
     '\n\nDo you wish to continue running the scripts?'); 
} 
</script> 

<script> 
alert(' hello'; 
</script> 

Il codice errato precedente genera un messaggio di avviso 'token imprevisto;' a causa della parentesi mancante.

2

Sei amici sono:

  • Chrome Strumenti per sviluppatori: tutti i tipi di strumenti sono imballati insieme.

    • Aperte Strumenti di sviluppo di F12, Ctrl + Maiusc + I su Windows o Cmd + Opt + I su Mac
  • console.log: eseguire il debug in fase di esecuzione.

  • jshint: controlla sintassi/variabili errate/codici inutilizzati/variabili inutilizzate/... prima dell'esecuzione.

try/catch è l'approccio molto pericoloso se non si fa un po 'di logging all'interno cattura perché nasconderà tutti gli errori, non li risolvere. Inoltre, farà rallentare il tuo codice.

+0

ogni volta che uso console.log nel mio codice non funziona sul browser qualsiasi cosa.so in luogo di che io uso alert(); – user2502227

+0

uso può visualizzare i registri su una scheda Console in strumenti di sviluppo – Joon

+0

Se si utilizza chrome (si dovrebbe quando si verifica il codice), aprire Strumenti di sviluppo \t da F12, Ctrl + Maiusc + I su Windows o Cmd + Opt + I su Mac. – Joon