Flask Academy · Oppitunti

Nosta mukautettuja poikkeusluokkia

Määritä domain-virheitä, jotka muunnetaan JSONiksi.

Oppitunti 3/413 vaihetta

Nosta mukautettuja poikkeusluokkia on ilmainen Flask Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/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 Flask Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Flask Academy-kurssilla on yhteensä 4 oppituntia.

Toimialanne mukaiset virheet

Numerot, kuten 400, ovat yleisiä. Mukautettu poikkeus nimeää todellisen ongelman, kuten epäonnistuneen maksun tai täyttyneen kiintiön.

Peri poikkeusluokka

Aloitatte määrittelemällä luokan, joka perii Exception-luokan. Näin saatte oman selkeän virheen, jonka voitte nostaa.

class PaymentError(Exception):
    pass

Lisää tilakoodi

Antakaa luokalle status_code-attribuutti, jotta käsittelijä tietää, minkä HTTP-koodin se lähettää virheen ilmetessä.

class PaymentError(Exception):
    status_code = 402

Liitä mukaan viesti

Tallentakaa ihmisille tarkoitettu viesti muodostimessa. Käsittelijä voi myöhemmin lukea sen ja sijoittaa sen vastausrungon sisään.

def __init__(self, message):
    self.message = message

Nosta virhe näkymässä

Näkymän sisällä yksinkertaisesti nostatte virheen, kun jokin menee vikaan. Flask etsii sitten vastaavan käsittelijän.

if not paid:
    raise PaymentError("Card declined")

Käsittele mukautettu luokka

Rekisteröikää luokallenne errorhandler. Se vastaanottaa ilmentymän, joten voitte lukea sekä sen viestin että tilakoodin.

@app.errorhandler(PaymentError)
def on_pay(e):
    return e.message, e.status_code

Palauta siitä JSON

Rajapinnassa muuntakaa virhe JSON-muotoon käsittelijän sisällä. Asiakkaat saavat rakenteisen virheen, jonka ne voivat jäsentää luotettavasti.

return jsonify(error=e.message), e.status_code

Yksi perusluokka monille virheille

Luokaa yksi perusluokka ja antakaa erityisten virheiden periä se. Silloin yksi käsittelijä voi kattaa koko virheperheenne.

class ApiError(Exception):
    pass

Järkevät oletusarvot

Antakaa perusluokalle oletusarvoinen status_code, kuten 400. Aliluokat korvaavat sen vain, kun tarvitsevat toisen koodin.

class ApiError(Exception):
    status_code = 400

Pidä logiikka poissa näkymistä

Toimialavirheiden nostaminen pitää näkymät lyhyinä. Käsittelijä vastaa muotoilusta, joten kukin näkymä vain ilmaisee, mikä meni vikaan.

Miksi tämä skaalautuu

Sovelluksen kasvaessa mukautetut poikkeukset pitävät virhelogiikan yhdessä siistissä paikassa. Uudet virhetyypit liittyvät samaan selkeään käsittelyketjuun.

Pikakoe

Miten näkymä käynnistää toimialanne virheen?

Kertaus

Rakensitte mukautettuja poikkeusluokkia, joissa on tilakoodi ja viesti, nostitte ne näkymissä ja muunsitte ne selkeäksi JSON-vastaukseksi. Mahtavaa!

Aloita maksutta

Opi Python 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 ”Nosta mukautettuja poikkeusluokkia” ilmainen?

Kyllä – oppitunnin ”Nosta mukautettuja poikkeusluokkia” 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 Flask Academy-kurssin, päivitä CoddyKit PROhon. Flask Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Nosta mukautettuja poikkeusluokkia”?

Määritä domain-virheitä, jotka muunnetaan JSONiksi. Harjoittelet Flask Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Flask Academy-opiskelun?

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

Kuinka kauan ”Nosta mukautettuja poikkeusluokkia”-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ä Flask Academy-oppitunnilla?

Kyllä. Jokainen Flask 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. abort ja HTTP-virhekoodit
  2. Rekisteröi errorhandler-funktiot
  3. Nosta mukautettuja poikkeusluokkia
  4. Yhdenmukaiset JSON-virhekuoret
← Takaisin: Flask Academy