Vaihtaminen tiettyjen virheiden perusteella
Haarautukaa palautetun virheen mukaan.
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. ✅
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
- Palautuminen catch-komennolla
- Vaihtaminen tiettyjen virheiden perusteella
- errdefer epäonnistumisen aikaiseen siivoukseen
- Virheiden kääriminen ja uudelleenheitto