Tavs šīs stundas izaicinājums: Padarīt programmu "neiznīcināmu". Tu iemācīsies noķert kļūdas, pirms tās aptur kodu, un izveidosi sistēmu, kas pieklājīgi lūdz lietotāju ievadīt pareizus datus.
SR 2.4.10. (Atkļūdošana un kļūdu novēršana)Kļūdas programmēšanā sauc par izņēmumiem (exceptions). Mēs tos nevis ignorējam, bet "noķeram", lai programma neizslēgtos.
| Bloks | Loma | Kad tas izpildās? |
|---|---|---|
try |
Mēģinājums | Vienmēr. Šeit liekam "bīstamo" kodu (piemēram, ievadi). |
except |
Drošības tīkls | Tikai tad, ja try blokā kaut kas "salūza". |
ValueError |
Kļūdas tips | Kad mēģinām burtus pārvērst par skaitli (int/float). |
Zelta likums: Lietotājs vienmēr var kļūdīties. Labs programmētājs to paredz un neļauj programmai avarēt.
drosiba.py.try: bloku un mēģini tajā konvertēt lietotāja ievadi par skaitli: v = int(input("Vecums: ")).except ValueError: bloku."Kļūda! Lūdzu, izmanto tikai ciparus.".validacija.py.while True: ciklu, lai dators neatstātos, kamēr nav dabūjis derīgu skaitli.try/except bloku.break, lai izietu no cikla.asp_validacija.py.int) un "Likmi" (float) ar try/except cikliem.likme > žetoni), izvadi: "Tev nepietiek līdzekļu!" un liec ievadīt likmi vēlreiz.except:. Vienmēr norādi konkrētu kļūdu, piemēram, except ValueError:.break pēc veiksmīgas ievades, cikls turpināsies mūžīgi pat ar pareiziem datiem.while True:
try:
likme = float(input("Ievadi likmi: "))
if likme > 0:
break
print("Likmei jābūt pozitīvai!")
except ValueError:
print("Kļūda! Ievadi skaitli, izmantojot punktu (piem., 5.5).")
print(f"Likme {likme} pieņemta!")
Kļūda! Ievadi skaitli...Likme 10.5 pieņemta!