Tässä opetusohjelmassa opit kokeilemaan… kiinni … lopuksi lauseita käsittelemään JavaScriptin poikkeuksia esimerkkien avulla.
try, catchJa finallylohkoja 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 consoleon 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… catchLausuma käytetään käsittelemään poikkeuksia. Sen syntaksi on:
try ( // body of try ) catch(error) ( // body of catch )
Pääkoodi on trylohkon sisällä . tryLohkon suorittamisen aikana , jos ilmenee virheitä, se menee catchlohkoon. catchLohko käsittelee virheet kohti saalisilmoitukset.
Jos virheitä ei tapahdu, trylohkon sisällä oleva koodi suoritetaan ja catchlohko 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 catchlohkossa.
JavaScripti yritä … kiinni … lopuksi lausunto
Voit käyttää try… catch… finallylausetta myös poikkeusten käsittelemiseen. finallyLohko suorittaa sekä silloin, kun koodi toimii onnistuneesti tai jos tapahtuu virhe.
try… catch… finallyLohkon 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 catchlohko tarttuu virheeseen . finallyLohko suorittaa missä tahansa tilanteessa (jos ohjelma toimii onnistuneesti tai jos tapahtuu virhe).
Huomaa : Sinun on käytettävä catchtai finallylauseen lauseen jälkeen try. Muuten ohjelma heittää virheen Uncaught SyntaxError: puuttuu saalis tai lopulta kokeilun jälkeen.
JavaScripti yritä… kiinni setTimeoutissa
try… catchEi 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… catchei toimi, koska moottori on jo poistunut try… catchrakenteesta ja toiminto suoritetaan myöhemmin.
try… catchLohko 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ää throwlausetta lauseen kanssa try… catchkäyttäjän määrittelemien poikkeusten käyttämiseen. Esimerkiksi tietty luku jaetaan 0: lla . Jos haluat pitää Infinityvirhettä ohjelmassa, voit heittää käyttäjän määrittelemän poikkeuksen throwkäskyllä kyseisen ehdon käsittelemiseksi.
Opit JavaScript-heittolausekkeesta seuraavasta opetusohjelmasta.








