Javascript on tõlkeprogrammeerimiskeel. Täpselt nagu iga teine keel, peab ka arendaja või programmeerija sageli hoolitsema vigade käsitlemise eest. Enamasti peab programmeerija või arendaja vigadega tegelema, kui nad andmebaasile juurde pääsevad või neile andmeid määravad. Niisiis, veakäsitlus on iga programmeerimisprojekti oluline osa. Programmeerimisel on kolme tüüpi vigu, millega programmeerija või arendaja peab sageli silmitsi seisma.
Süntaksiviga - Viga koodi kirjutamisel programmeerimiskeele süntaksiga võrreldes. Näiteks poolkooloni puudumine või funktsiooni loomise ja kutsumise kokkuleppe mittejärgimine.
Loogiline viga - Viga loogikahoones. Näiteks vale aritmeetilise toimingu rakendamine, mille tulemuseks on vale väljund.
Käitusaja viga - Käitusajal ilmnes viga. Nagu funktsiooni kutsumine ilma seda deklareerimata.
Viga, mille saame käituse ajal, on tuntud ka kui erand. Erakordne käitlemine on väga oluline. Sest me ei saa vigu ja veakoode kohe visata. Me peame sellega hakkama saama. Niisiis, selles artiklis on meil arusaam erandite käsitlemisest, kasutades javascripti proovimisseadet. Samuti õpime, kuidas visata kohandatud sõnum vea vastu ja kuidas kasutada blokki “lõpuks” proovimise püüdmise plokiga.
Süntaks
Püügipüüdmisploki kasutamise süntaks on väga lihtne ja hõlpsasti kasutatav. Me võime lihtsalt kasutada proovimise püüdmise plokki
proovige// proovimiseks või testimiseks vajalik kood
viska // viska kohandatud viga püüdmiseks
saak (viga)
// kood pärast vea saamist
lõpuks
// kood, mis käivitatakse igal juhul
Selles süntaksis kirjutame testimiseks kõigepealt mõned koodiread proovimisplokki. Kui see kood käivitatakse või test edukalt sooritatakse. Prooviblokk ei viska blokeeringule "püüdmine" ühtegi viga ja käivitab ploki "lõpuks". Vastasel juhul viskab see vea plokile „püüdmine“, kus saame erandeid käsitleda vastavalt antud veale. Saame visata kohandatud vea ka blokki „saak”, kasutades märksõna „viska”. "Lõpuks" plokk käivitatakse igal juhul. Kas blokk “proovida” viskab kõik ära või mitte. Parema arusaamise saamiseks proovime paari näidet.
Näited
Kõigepealt demonstreerida proovimise püüdmise ploki lihtsat ja põhitööd. Püüame kutsuda funktsiooni seda kuhugi deklareerimata.
liitmine ()See viskab kindlasti vea konsooli
Aga kui proovime seda nüüd prooviplokis nimetada
liitmine ()
saak (viga)
See ei näita enam konsoolis ühtegi viga, sest me ei kirjutanud püüdmisplokki vigade jaoks ühtegi koodi. Niisiis, saame nüüd püügiplokis veateate muuta ja lohutada.
proovigeliitmine ()
saak (viga)
konsool.logi ("Veateade =>" + tõrge)
Näeme vea vastu konsoolis oma kohandatud teadet.
Niisiis, see on proovimise püüdmise ploki kõige tavalisem kasutus. Nüüd tutvume prooviplokis kohandatud tõrke viskamisega.
Viska
Oletame, et proovime visata erinevate vigade põhjal erineva kohandatud vea. Võime visata kohandatud vea, et „Funktsiooni määratlust pole olemas." Nagu nii
proovigeviska uus viga ("Funktsiooni määratlust pole olemas")
püüdma (eksima)
konsool.logi ("Veateade =>" + eksimine)
Nagu väljundis näete, muudetakse veateade nüüd meie kohandatud veaks.
ProTip
Oletame, et proovime seda proovivõtet rakendada asünkroonsel funktsioonil. See ei toimi. Kuna mootor oleks liikunud järgmisele reale, käivitage viimane blokk ja asünkroonne funktsioon käivitatakse hiljem. Näiteks kui rakendame funktsiooni setTimeout funktsiooni proovimise püüdmise ploki sees.
proovigesetTimeout (() =>
liitmine ();
, 3000)
püüdma (eksima)
konsool.logi ("Veateade =>" + eksimine)
lõpuks
konsool.log ("jõudis" lõpuks "plokini")
Võite täheldada, et plokk "lõpuks" käivitatakse kõigepealt ja viga visatakse hiljem, kui vaatame viga. See ei ole püüdmisploki viga, vaid see on algne programmeerimisviga, mis tähendab, et püüdmisplokki ei käivitata, kuna nad proovisid plokki viga leida.
Hästi! Nüüd, kui tahame selle toimima panna. Peame rakendama proovimise püüdmise plokki funktsiooni setTimeout sees, mitte väljaspool. Niisiis, tõeline viis asünkroonse funktsiooni rakendamiseks proovimise püüdmise plokiga oleks selline.
setTimeout (() =>proovige
liitmine ();
püüdma (eksima)
konsool.logi ("Veateade =>" + eksimine)
lõpuks
konsool.log ("jõudis" lõpuks "plokini")
, 3000)
Väljundis saate jälgida, et pärast 3-sekundilist viivitust funktsiooni setTimeout tõttu. Esmalt oleme saanud tõrketeate blokeerimisplokist ja seejärel käivitatakse plokk “lõpuks”.
Järeldus
Selles artiklis oleme õppinud JavaScripti proovimise püüdmise blokeerimist järk-järgult rakendama nii lihtsalt ja põhjalikult, et iga algaja pärast selle artikli lugemist saaks seda rakendada kõikjal, kus vaja. Niisiis, jätkake Linuxi abil JavaScripti õppimist ja kogemuste hankimist.com. Aitäh!