Virheenkäsittely
Virheenkäsittely
Virheenkäsittely on ilmainen Swift Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/1. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Swift Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Swift Academy-kurssilla on yhteensä 1 oppituntia.
Johdanto
Hei,
Sovelluksen ollessa käynnissä voi ilmetä virheitä sovelluksen koodin (logiikkavirheet jne.) tai sen suoritusympäristön perusteella.
Virheenkäsittelyä voidaan käyttää ilmenevien virheiden tunnistamiseen ja hallintaan.
Virhetyypit
Kun virhe ilmenee, virheenkäsittely voi estää sovelluksen suorituksen keskeytymisen, kirjata virheet lokiin tai joissakin tapauksissa sulkea sovelluksen (kun sen suorittaminen on mahdotonta).
Osa virheistä voi johtua ohjelmistokehittäjän koodissa tekemistä logiikkavirheistä. Esimerkiksi sovellus aiheuttaa virheen, kun edellisessä osiossa opittu optionaali pakotetaan purettavaksi.
Joissakin tapauksissa virheitä voi ilmetä kehittäjästä riippumatta. Jos esimerkiksi laitteen, jolla sovellus suoritetaan, levytila loppuu, sovelluksessa ilmenee jälleen virhe.
Mukautettu virhe-enum
Voimme määritellä itse enumilla mukautettuja virheitä. Alla olevassa esimerkissä luottokorttitietoja syötettäessä mahdollisesti ilmenevät virhetyypit lisätään nimellä CreditCardError.
enum CreditCardError: Error {
case insufficientFunds
case issuerDeclined
case invalidCVC
}throws-avainsana
Jos kirjoittamamme metodi voi tuottaa virheen, metodin määrittelyyn lisätään throws-avainsana.
Alla on esimerkki syntaksista.
func processPayment(creditcard: String) throws {
}throw-avainsana
Joskus ohjelmistokehittäjän on koodia kirjoittaessaan heitettävä virhe.
Kuvitellaan, että kirjoitamme pankin maksujärjestelmän.
Asiakkaan saldo ei riitä luottokortilla maksettaessa. Tällöin voimme heittää virheen, joka ilmoittaa varojen riittämättömyydestä.
throw CreditCardError.insufficientFundsdo-catch-lohko
Kun haluamme käyttää sovelluksessamme metodeja, jotka voivat aiheuttaa virheitä, voimme sijoittaa kyseisen koodin do-catch-lohkoon ja käsitellä mahdolliset virheet.
Virheitä mahdollisesti aiheuttava koodi sijoitetaan do-lohkoon, ja mahdolliset virheet otetaan kiinni catch-lohkossa.
Tarkastellaan alla olevaa esimerkkiä.
do {
//Code block that may throw an Error
}
catch let error {
print(error)
}try-syntaksi
try-avainsanan lisäksi käytettävissä ovat try!- ja try?-muodot.
Tarkastellaan esimerkkiä.
// if an error was thrown, app will crash
let result = try! doSomething()
if let result = try? make() {
//If the make method is successful, the result is unwrap. It is a very elegant use.
} else {
//make() threw an error.
}Useita catch-lohkoja
Jos kutsumamme metodi voi heittää useita erilaisia virheitä, voimme suodattaa ne ja ohjata sovelluksen kulkua virhetyypin mukaan.
Alla olevassa esimerkissä kukin catch-lohko käsittelee erilaisia mahdollisesti ilmeneviä virheitä.
do {
try doSomething()
} catch CustomError.errorOne {
//handle errorOne Error
} catch CustomError.errorTwo(let customErr) {
//handle errorTwo Error with customErr
}Onnittelut
Onnittelut 🎉
Tässä oppitunnissa opimme käsittelemään sovellusvirheitä Swiftillä.
Nähdään seuraavassa oppitunnissa.

Opi Swift 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
- 122
- Oppitunnit
- 409
Usein kysytyt kysymykset
Onko oppitunti ”Virheenkäsittely” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Swift Academy-oppimispolun 3 oppituntia, myös oppitunnin “Virheenkäsittely”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Swift Academy-kurssilla on yhteensä 1 oppituntia.
Mitä opin oppitunnilla ”Virheenkäsittely”?
Virheenkäsittely Harjoittelet Swift Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Swift Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Swift Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/1.
Kuinka kauan ”Virheenkäsittely”-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ä Swift Academy-oppitunnilla?
Kyllä. Jokainen Swift 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.