Zig Academy · Oppitunti

Vaihtaminen tiettyjen virheiden perusteella

Haarautukaa palautetun virheen mukaan.

Oppitunti 2/413 vaihetta

Vaihtaminen tiettyjen virheiden perusteella on ilmainen Zig Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Zig Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Zig Academy-kurssilla on yhteensä 4 oppituntia.

Kaikki virheet eivät ole samanarvoisia

Yksi oletusarvo sopii harvoin jokaiseen epäonnistumiseen. Puuttuva tiedosto ja virheellinen syöte tarvitsevat usein erilaisen käsittelyn, joten haluat haarautua tapahtuneen virheen mukaan.

Ota talteen ja käytä switch-lausetta

Ota virhe talteen catch-operaattorilla ja välitä se sitten switch-lausekkeelle. Jokainen haara voi reagoida omalla tavallaan tiettyyn virheeseen.

open(path) catch |err| switch (err) {
    error.NotFound => create(path),
    else => return err,
};

Virheet ovat switch-arvoja

error.NotFound-tyyppinen virhe on tavallinen arvo, joten switch vertaa sitä samalla tavalla kuin kokonaislukua tai enum-tunnistetta.

switch (err) {
    error.Timeout => retry(),
    error.Denied => reportDenied(),
}

switchin on katettava kaikki tapaukset

Virheille tehtävän switch-lauseen on katettava kaikki joukon mahdolliset virheet. Zig kieltäytyy kääntämästä koodia, jos yksikin tapaus puuttuu.

Käsittele loput else-haaralla

Lisää else-haara käsittelemään virheet, joita et nimennyt. Näin switch pysyy kattavana ilman kaikkien vaihtoehtojen luettelemista.

switch (err) {
    error.NotFound => createDefault(),
    else => return err,
}

Jokainen haara palauttaa arvon

Koska switch on lauseke, jokainen haara voi tuottaa arvon. Koko catch palauttaa tällöin sen arvon, jonka osuva haara antaa.

const n = parse(s) catch |e| switch (e) {
    error.Empty => 0,
    else => -1,
};

Ryhmittele virheet pilkuilla

Luettele useita virheitä samassa haarassa pilkuilla erotettuina, kun niillä on yhteinen käsittely. Näin toisiinsa liittyvät tapaukset pysyvät selkeinä ja yhdessä.

switch (err) {
    error.Timeout, error.Reset => retry(),
    else => return err,
}

Välitä käsittelemättömät virheet uudelleen

Voit haarassa palauttaa virheen return-lauseella ja välittää sen ylöspäin. Käsittele tuntemasi tapaukset ja anna kutsujan huolehtia lopuista.

else => return err,

Yhdistä ensin try-lauseeseen

Usein käytät try-lausetta tavalliseen suorituspolkuun ja käsittelet switchillä vain virheet, jotka todella tarvitsevat erikoislogiikkaa. Näin onnistumispolku pysyy selkeänä.

Selkeyttä täsmällisyydellä

Virheiden käsitteleminen switchillä dokumentoi täsmälleen, mitä epäonnistumisia odotat. Lukija näkee jokaisen tapauksen ja sen, miten koodisi reagoi siihen.

Kääntäjä pitää puoliasi

Koska switch-lauseen on oltava täydellinen, uuden virheen lisääminen myöhemmin pakottaa käsittelemään sen. Unohtuneet tapaukset muuttuvat koontivirheiksi eivätkä jää ohjelmistovirheiksi.

Pikatarkistus

Käytät switch-lausetta talteen otettuun virheeseen, mutta luettelet vain osan vaihtoehdoista. Mitä Zig edellyttää?

Kertaus

Otitte virheen talteen ja käytitte switch-lausetta haarautumiseen virheen mukaan, toisiinsa liittyvien tapausten ryhmittelyyn ja muiden virheiden välittämiseen eteenpäin. Kääntäjä pitää rakenteen kattavana. ✅

Aloita maksutta

Opi Zig tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
30
Oppitunnit
120

Usein kysytyt kysymykset

Onko oppitunti ”Vaihtaminen tiettyjen virheiden perusteella” ilmainen?

Kyllä – oppitunnin ”Vaihtaminen tiettyjen virheiden perusteella” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Zig Academy-kurssin, päivitä CoddyKit PROhon. Zig Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Vaihtaminen tiettyjen virheiden perusteella”?

Haarautukaa palautetun virheen mukaan. Harjoittelet Zig Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Zig Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Zig Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.

Kuinka kauan ”Vaihtaminen tiettyjen virheiden perusteella”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Zig Academy-oppitunnilla?

Kyllä. Jokainen Zig Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Palautuminen catch-komennolla
  2. Vaihtaminen tiettyjen virheiden perusteella
  3. errdefer epäonnistumisen aikaiseen siivoukseen
  4. Virheiden kääriminen ja uudelleenheitto
← Takaisin: Zig Academy