Table of Contents[Ferstopje][Toanje]
Dizze lêzing sil wichtich wêze as jo te krijen hawwe mei grutte programma's.
Jo sille leare om de flaters te behanneljen fia útsûnderingsblokken en opmerkings yn Python te brûken.
Utsûnderings
Wy sille leare hoe't jo flaters kinne behannelje yn Python-programma's. Litte wy begjinne mei it skriuwen fan in lyts programma om de leeftyd fan de brûker fan 'e terminal te krijen.
age = int(input('Age'))
print(age)
Litte wy it rinne.
Sjoch no nei de útgongskoade fan dit programma. Útgongskoade 0 betsjut dat ús programma mei súkses is beëinige en d'r wiene gjin flaters. Mar wat as wy dit programma noch ien kear útfiere en ynstee fan in numerike wearde yn te fieren, fiere wy in tekenrige yn?
Wy krije in wearde flater mei syn berjocht "ûnjildich letterlik foar int () mei basis 10" Yn prinsipe wat dit berjocht fertelt ús is dat dizze tekenrige "qwe" net befetsje in jildich thús nûmer dat kin wurde omboud ta in hiel getal. Sjoch no nei de útgongskoade fan dit programma. Utgongskoade 1 betsjut dat ús útgongskoade ferûngelokke is, dus 0 betsjut altyd sukses en alles behalve 0 betsjut crash. Yn programmearring ferwize wy nei dit soarte flater as in útsûndering.
As in goede python-programmeur moatte jo dizze situaasje antisipearje. Jo wolle jo hiele programma net ferûngelokje litte gewoan om't de brûker in ûnjildige wearde ynfierd hat. Dus ynstee fan it programma crashe te litten, moatte jo de situaasje behannelje en in juste flaterberjocht printsje. Dat sil ik jim yn dizze lêzing sjen litte.
Yn Python hawwe wy in konstruksje neamd try except
brûkt om te gean mei flatersituaasjes.
try:
age = int(input('Age'))
print(age)
Dizze twa rigels koade binne diel fan ús try:
blok. Wy sille tafoegje except
blokkearje dernei mei it type flater dat wy ferwachtsje.
except ValueError:
print('Invalid Value')
It sil no de tekenrige "Unjildige wearde" weromjaan yn gefal fan in weardeflater.
Litte wy in oare soarte flater kontrolearje troch it foarige programma te feroarjen.
try:
age = int(input('Age'))
income = 20000
risk = income / age
print(age)
except ValueError:
print('Invalid Value')
No, as wy dit programma útfiere en '0' ynfiere yn leeftyd, in numerike wearde. Dêrom moatte wy technysk gjin útsûnderingen krije.
Litte wy it rinne.
Sjoch ris. Us programma crashte en wy diene in "Zero Division Error" omdat wy kinne net diele in getal troch 0. Sjoch nochris nei de útgong koade. Wy koenen dit soarte fan flater of dit soarte fan útsûndering net fange mei dit útsein blok.
Dit útsein blok fange allinnich útsûnderingen fan type wearde flater en wy sille nedich in nij útsein blok te behannelje Zero Division Error. Litte wy it programma dêrmei oanpasse.
try:
age = int(input('Age'))
income = 20000
risk = income / age
print(age)
except ZeroDivisionError:
print('Age cannot be 0')
except ValueError:
print('Invalid Value')
It probleem is oplost!
- Syntaksisflater
- Typerror
- Nammeflater
- Yndeksflater
- Valueerror
- Zerodivisjonsfout
- Attributeerror
- Runtime flater
- Keyerror
- Memory error
- Assertionerror
- Indentationerror
- Eoferror
- Floatingpointerror
- Overflowerror
- Logyske flater
- Systeem flater
- Notimplementederror
- Oserror
- Ioerror
- Reference error
- Unicodeerror
- Aritmetyske flater
- Unicodedecodeerror
- Unicodeencodeerror
- Unicodetranslateerror
- Runtime-flaters
As programmeur moatte jo bewust wêze fan alle útsûnderingen yn jo programma en jo moatte se dêrmei behannelje.
Comments
No sille wy prate oer opmerkings yn python. Wy brûke opmerkings om notysjes of opmerkingen ta te foegjen oan ús programma's om de lêsberens te ferbetterjen en wat berjocht oer te bringen oan ien dy't ús koade lêze.
Opmerkings kinne yn it programma skreaun wurde troch it # teken te brûken. Alles wat jo skriuwe nei de # sil wurde negearre troch de Python-kompiler en sil net wurde útfierd. Jo kinne opmerkings tafoegje op yndividuele rigels en ek nei in rigel koade.
Mei dizze opmerkings kinne wy wat útlizze oer ús koade, wy kinne se brûke as herinneringen om dingen te reparearjen of dingen op te heljen, of wy kinne se brûke om dingen te kommunisearjen mei oare ûntwikkelders dy't ús koade lêze of om út te lizzen wêrom't wy dizze koade yn skreaun hawwe in bepaalde manier. Dit binne goede gebrûksgefallen foar it brûken fan opmerkings. wy kinne ek hawwe opmerkings oer meardere rigels. Elke rigel moat begjinne mei in nij # teken. No ien ding dat jo moatte foarkomme by it brûken fan opmerkings is útlizze wat de koade docht.
Hjir is in foarbyld fan in minne opmerking:
Dit is in minne opmerking, om't it my it dúdlik fertelt. It fertelt my dat de folgjende rigel "Sinne ûndergiet yn it Westen" sil printsje. No is it probleem mei dizze opmerking dat ôfsjoen fan verbose en repetitive as jo hjir komme en West nei East feroarje, dizze opmerking ferâldere wurdt. Dat, elke kear as wy ús koade bywurkje, moatte wy weromkomme en de oerienkommende opmerking feroarje.
Koartsein, brûk jo opmerkingen om te beantwurdzjen hoe en wêrom is ynstee fan wat is.
Hjir is in foarbyld fan in goede opmerking:
Yn 'e earste opmerking herinner ik mysels dat ik dizze ynkommenswearde moat bywurkje foardat it programma finalisearje en de twadde wearde fertelt oare ûntwikkelders dy't myn koade lêze dat alle flaters net yn dit programma wurde behannele.
Konklúzjend moatte jo oerstallige opmerkingen foarkomme en jo opmerkings moatte wat wearde tafoegje oan jo koade.
Gearfetsje!
Utsûnderings en opmerkings binne twa aspekten fan programmearring dy't faak oersjoen wurde en har betsjutting wurdt normaal ûnderskatte.
It crashen fan jo programma is hast like slim as net kommentaar oer jo koade wêr nedich. De folgjende lêzing sil rjochtsje op klassen en bouwers.
Leave a Reply