Tässä opetusohjelmassa opit kokeilemaan… kiinni … lopuksi lauseita käsittelemään JavaScriptin poikkeuksia esimerkkien avulla.
try
, catch
Ja finally
lohkoja käytetään käsittelemään poikkeuksia (tyyppi virheen). Ennen kuin opit niistä, sinun on tiedettävä ohjelmointivirheiden tyypit.
Virheiden tyypit
Ohjelmoinnissa koodissa voi olla kahden tyyppisiä virheitä:
Syntaksivirhe : Virhe syntaksissa. Jos esimerkiksi kirjoitat consol.log('your result');
, yllä oleva ohjelma heittää syntaksivirheen. Oikeinkirjoitus console
on virhe yllä olevassa koodissa.
Suorituksenaikaiset virheet: Tämän tyyppinen virhe tapahtuu ohjelman suorituksen aikana. Esimerkiksi
virheellisen funktion tai muuttujan kutsuminen.
Näitä ajon aikana esiintyviä virheitä kutsutaan poikkeuksiksi . Katsotaan nyt, miten voit käsitellä näitä poikkeuksia.
JavaScript try … catch Statement
try… catch
Lausuma käytetään käsittelemään poikkeuksia. Sen syntaksi on:
try ( // body of try ) catch(error) ( // body of catch )
Pääkoodi on try
lohkon sisällä . try
Lohkon suorittamisen aikana , jos ilmenee virheitä, se menee catch
lohkoon. catch
Lohko käsittelee virheet kohti saalisilmoitukset.
Jos virheitä ei tapahdu, try
lohkon sisällä oleva koodi suoritetaan ja catch
lohko ohitetaan.
Esimerkki 1: Näytä ilmoittamaton muuttuja
// program to show try… catch in a program const numerator= 100, denominator = 'a'; try ( console.log(numerator/denominator); // forgot to define variable a console.log(a); ) catch(error) ( console.log('An error caught'); console.log('Error message: ' + error); )
Tuotos
NaN Virhe havaittu Virhesanoma: ReferenceError: a ei ole määritelty
Yllä olevassa ohjelmassa muuttujaa ei ole määritelty. Kun yrität tulostaa muuttujan, ohjelma heittää virheen. Tämä virhe on kiinni catch
lohkossa.
JavaScripti yritä … kiinni … lopuksi lausunto
Voit käyttää try… catch… finally
lausetta myös poikkeusten käsittelemiseen. finally
Lohko suorittaa sekä silloin, kun koodi toimii onnistuneesti tai jos tapahtuu virhe.
try… catch… finally
Lohkon syntaksi on:
try ( // try_statements ) catch(error) ( // catch_statements ) finally() ( // codes that gets executed anyway )
Esimerkki 2: kokeile … kiinni … lopuksi Esimerkki
const numerator= 100, denominator = 'a'; try ( console.log(numerator/denominator); console.log(a); ) catch(error) ( console.log('An error caught'); console.log('Error message: ' + error); ) finally ( console.log('Finally will execute every time'); )
Tuotos
NaN Virhe havaittu Virhesanoma: ReferenceError: a ei ole määritelty Lopuksi suoritetaan joka kerta
Yllä olevassa ohjelmassa tapahtuu virhe ja catch
lohko tarttuu virheeseen . finally
Lohko suorittaa missä tahansa tilanteessa (jos ohjelma toimii onnistuneesti tai jos tapahtuu virhe).
Huomaa : Sinun on käytettävä catch
tai finally
lauseen lauseen jälkeen try
. Muuten ohjelma heittää virheen Uncaught SyntaxError: puuttuu saalis tai lopulta kokeilun jälkeen.
JavaScripti yritä… kiinni setTimeoutissa
try… catch
Ei saalis poikkeus, jos se tapahtui " ajastettu " koodia, kuten setTimeout (). Esimerkiksi,
try ( setTimeout(function() ( // error in the code ), 3000); ) catch (e) ( console.log( "won't work" ); )
Edellä mainittu try… catch
ei toimi, koska moottori on jo poistunut try… catch
rakenteesta ja toiminto suoritetaan myöhemmin.
try… catch
Lohko on sisältä että funktio saalis poikkeus sisällä ajastimella. Esimerkiksi,
setTimeout(function() ( try ( // error in the code ) catch ( console.log( "error is caught" ); ) ), 3000);
Voit myös käyttää throw
lausetta lauseen kanssa try… catch
käyttäjän määrittelemien poikkeusten käyttämiseen. Esimerkiksi tietty luku jaetaan 0: lla . Jos haluat pitää Infinity
virhettä ohjelmassa, voit heittää käyttäjän määrittelemän poikkeuksen throw
käskyllä kyseisen ehdon käsittelemiseksi.
Opit JavaScript-heittolausekkeesta seuraavasta opetusohjelmasta.