Per gli errori, considera che JS i tratta come le Eccezioni di Java, ovvero in caso succeda un evento che solleva un eccezione lo script viene interrotto ed il browser mostra la stringa di errore nella console del browser.
Sostanzialmente tu puoi sollevare un eccezione con il comando throw, mentre puoi prevenire il sollevamento dell'eccezione con il blocco try /catch.
Ecco un esempio di una funzione che solleva in eccezione, e testa con try catch un istruzione:
codice:
//Questa funzione scrive nell'elemento il cui ID è passato per parametro, il testo passato
//come secondo parametro
function WriteThere(id, text){
if(!id){
//l'id è vuoto o null, allora non ha senso continuare
throw "You must pass a valid ID";
}
//Io voglio eseguire una funzionalità che non è supportata da tutti i browser,
//ma allo stesso tempo non voglio che si blocchi se viene sollevata un'eccezione
try{
document.getElementById("id").innextText = text;
}
catch(e){
//E' stata sollevata un'eccezione, che viene passata a catch,
//se ci fossero delle istruzioni nel try, dopo quella che causa l'errore,
//verrebbero saltate e non eseguite
alert("Il browser ha sollevato la seguente eccezione: "+e.message);
}
finally{
//il codice nel finally viene sempre e comunque eseguito, sia che vengano
//sollevate eccezioni o che non ci siano errori
alert("Ho finito!");
}
}
Tu puoi usare anche il throw all'interno del try per testare il codice.
Dai un'occhiata a http://www.morpheusweb.it/html/manua..._try_catch.asp