JavaScript prova a cattura

JavaScript prova a cattura

JavaScript è un linguaggio di programmazione trasgresso. Proprio come qualsiasi altra lingua, uno sviluppatore o un programmatore deve spesso preoccuparsi della gestione degli errori. Principalmente un programmatore o uno sviluppatore deve gestire errori durante l'accesso o l'assegnazione di alcuni dati al database. Quindi, la gestione degli errori è una parte essenziale di qualsiasi progetto di programmazione. Esistono tre tipi di errori nella programmazione che un programmatore o un sviluppatore deve spesso affrontare.

Errore di sintassi - Un errore nello scrivere codice contro la sintassi del linguaggio di programmazione. Ad esempio, manca un semi-colon o non segue la convenzione di creare e chiamare la funzione.

Errore logico - Un errore nella costruzione della logica. Ad esempio, implementazione dell'operazione aritmetica sbagliata, che si traduce in un output sbagliato.

Errore di runtime - L'errore si è verificato durante il runtime. Come, chiamare una funzione senza dichiararla.

L'errore che otteniamo durante il runtime è anche noto come eccezione. La manifestazione eccezionale è molto importante. Perché non possiamo lanciare subito gli errori e i codici di errore. Dobbiamo gestirlo. Quindi, in questo articolo, avremo una comprensione di come gestire le eccezioni utilizzando il blocco di battiti di JavaScript. Impareremo anche come lanciare un messaggio personalizzato contro un errore e come utilizzare il blocco "Finalmente" con un blocco try-catch.

Sintassi

La sintassi per l'utilizzo di un blocco try-catch è molto semplice e facile da usare. Possiamo semplicemente usare il blocco try-catch in questo modo

Tentativo
// codice da provare o testare
lancia // lancia un errore personalizzato da catturare
catch (errore)
// codice dopo aver ricevuto un errore
Finalmente
// codice che esegue in ogni caso

In questa sintassi, scriviamo prima alcune righe di codice nel blocco "prova" per testare. Se quel codice viene eseguito o superato correttamente il test. Il blocco "Try" non lancerà alcun errore nel blocco "Catch" ed esegui il blocco "Finalmente". Altrimenti, lancerà un errore al blocco "cattura" in cui possiamo gestire le eccezioni in base all'errore indicato. Possiamo lanciare un errore personalizzato nel blocco "cattura" e utilizzando la parola chiave "lancio". Il blocco "Finalmente" verrà eseguito in ogni caso. O il blocco "try" lancia uno o no. Proviamo un paio di esempi per avere una migliore comprensione.

Esempi

Prima di tutto, per dimostrare il funzionamento semplice e di base del blocco di battito di prova. Cerchiamo di chiamare una funzione senza dichiararla ovunque.

aggiunta ()

Inserisce sicuramente un errore nella console


Ma, se proviamo a chiamarlo in un blocco di prova ora

Tentativo
aggiunta ()
catch (errore)

Non mostrerà più alcun errore nella console perché non abbiamo scritto alcun codice nel blocco di cattura per l'errore. Quindi, possiamo modificare e consolare il messaggio di errore nel blocco catch ora.

Tentativo
aggiunta ()
catch (errore)
console.log ("errore di errore =>" + errore)

Possiamo vedere il nostro messaggio personalizzato nella console contro l'errore.


Quindi, questo è l'uso di base del blocco del try-catch. Ora, impariamo a lanciare un errore personalizzato nel blocco di prova.

Gettare

Supponiamo di voler lanciare un diverso errore personalizzato sulla base di diversi errori durante la prova. Possiamo lanciare un errore personalizzato, che "la definizione della funzione non esiste." Come questo

Tentativo
lanciare un nuovo errore ("La definizione della funzione non esiste")
catch (err)
console.Log ("Messaggio di errore =>" + err)


Come puoi vedere nell'output, il messaggio di errore viene ora modificato nel nostro errore personalizzato lanciato.

Protip

Supponiamo di provare ad applicare questo try-catch su una funzione asincrona. Non funzionerà. Poiché il motore si sarebbe spostato nella riga successiva, eseguire il blocco finale e la funzione asincrona verrebbe eseguita in seguito. Ad esempio, se applichiamo la funzione setTimeout all'interno di un blocco try-catch.

Tentativo
setTimeout (() =>
aggiunta ();
, 3000)
catch (err)
console.Log ("Messaggio di errore =>" + err)
Finalmente
console.Log ("raggiunto" finalmente "blocco")


Puoi osservare che il blocco "finalmente" viene eseguito per primo e l'errore viene lanciato in seguito se diamo un'occhiata all'errore. Non è l'errore dal blocco catch, ma è un errore di programmazione originale, il che significa che il blocco catch non viene eseguito perché provano a blocco non ha trovato alcun errore.

Bene! Ora, se vogliamo farlo funzionare. Dobbiamo applicare il blocco di cattura di prova all'interno della funzione setTimeout anziché all'esterno. Quindi, il vero modo di implementare una funzione asincrona con un blocco try-catch sarebbe così.

setTimeout (() =>
Tentativo
aggiunta ();
catch (err)
console.Log ("Messaggio di errore =>" + err)
Finalmente
console.Log ("raggiunto" finalmente "blocco")

, 3000)


È possibile osservare nell'output che dopo il ritardo di 3 secondi a causa della funzione setTimeout. Abbiamo ricevuto prima il messaggio di errore dal blocco catch, quindi viene eseguito il blocco "finalmente".

Conclusione

In questo articolo, abbiamo imparato ad implementare il blocco di prova passo dopo passo in JavaScript in un modo così facile e profondo che qualsiasi principiante dopo aver letto questo articolo sarebbe in grado di applicarlo ovunque abbia bisogno. Quindi, continua ad imparare e ottenere esperienza in JavaScript con Linuxhint.com. Grazie!