⊗pyPmExcCt 75 of 129 menu

Python'da İstisna Yakalama

Python'da diğer programlama dillerine kıyasla istisnalara neden olan çok fazla durum vardır.

Bunları daha ayrıntılı inceleyelim. Diyelim ki bir listemiz var:

lst = [1, 2, 3]

Listede var olmayan bir elemana erişelim:

print(lts[4])

Kod çalıştırıldıktan sonra bir hata (istisna) verilecektir:

IndexError: list index out of range

Ancak istisna vermeden çalışmaya devam etmemiz gerekiyorsa, onu try-except yapısı kullanarak yakalamamız gerekir. Şu sözdizimine sahiptir:

try: # istisnaya neden olan kod except: # hatanın işlenmesi

try bloğunda, bir istisna içerebilecek kod bulunmalıdır. Eğer bu kodu çalıştırırken bir istisnai durum ortaya çıkarsa, kodun çalışması durmaz, except bloğundaki koda geçilir. Bu blokta, oluşan hatanın özünü mümkün olduğunca doğru tanımlayan bir mesajın çıktısını yazmalısınız.

Eğer try bloğu çalıştırılırken herhangi bir istisnai durum oluşmazsa, faydalı kod sadece çalışır ve except bloğundaki kod çalışmaz.

Listede var olmayan bir elemana erişirken oluşan istisnamızı yakalayalım. Bunun için try bloğuna potansiyel hatayı içeren kodu yerleştireceğiz. except bloğunda ise konsola 'error: elem is not exist' mesajının çıktısını göstereceğiz:

lst = [1, 2, 3] try: print(lst[4]) except: print('error: elem is not exist')

Kod çalıştırıldıktan sonra şu çıktılanacaktır:

'error: elem is not exist'

try-except yapısını öğrendikten sonra yazdığınız kodun stili değişmelidir. Artık istisnai bir durumun oluşabileceği tüm yerleri try içine sarmalamalı ve except bloğunda bu istisnaya tepkiyi yazmalısınız.

Kullanıcıdan iki sayı isteyin. Birini diğerine bölün. Sıfıra bölme istisnai durumunu yakalayın.

Kullanıcıdan bir sayı isteyin. Bu sayının karekökünü bulun. Negatif bir sayının köklünü alma istisnai durumunu yakalayın.

Bir liste verildi. Kullanıcıdan bir tam sayı isteyin. Kullanıcının girdiği numaradaki liste elemanını elde edin. Kullanıcı listenin aralığı dışında bir sayı girdiğinde oluşacak istisnai durumu yakalayın.

Aşağıdaki kod verildi:

num = '5' res = num + 2 print(res)

Bu kodda ne yanlış? Eksikliklerini düzeltin.

Aşağıdaki kod verildi:

lst = [1, 2, 3, 4] def getElem(iter): print(iter[4]) getElem(lst)

Bu kodda ne yanlış? Eksikliklerini düzeltin.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet