Yükleniyor...

Hatayı yakalamak

Durabilecek satırlar try altına konur. except, ele alacağınız duruşun adını söyler. except ZeroDivisionError yalnızca try içindeki duruş bu adı taşıyorsa çalışır. try ve except bitince program sürer.

duruş yakalanır, rice çalışmaz, done çalışır

python
try:
    print(1 / 0)
    print("rice")
except ZeroDivisionError:
    print("skip")

print("done")

Ekranda skip, sonra done görünür. print(1 / 0) try içinde durur. print("rice") hâlâ try içindedir, bu yüzden çalışmaz. Duruşu yakalamak, try'ın kalanını bitirmek için geri dönmez. except, skip yazar. print("done") dışarıdadır, bu yüzden yakalamadan sonra çalışır. Program bu duruşta bitmez.

Ad uymalıdır. print(tea) satırını bu try içine koyun ve tea'ye hiç değer vermeyin: duruş NameError olur. except ZeroDivisionError o adı ele almaz. Program yine durur. Ne skip yazılır ne done. Bu satır bu sayfanın programında yoktur.

try içindeki her satır biterse except çalışmaz. Sonraki program yeniden başlar. İlk ekrandan burada bir şey kalmaz.

duruş yok, bu yüzden skip yazılmaz

python
try:
    print(8 / 2)
except ZeroDivisionError:
    print("skip")

print("done")

Ekranda 4.0, sonra done görünür. 4.0, ondalık noktalı dörttür. Duruş olmadı, bu yüzden skip yazılmaz. done yine çalışır, çünkü yakalamanın dışında durur.

try ve except altındaki satırlar sağa kaymıştır. Bu kayma onları içeri alır. print("done") except altında kaymış değildir, bu yüzden yakalamanın parçası değildir. try bitince de çalışır, adı verilen duruş yakalanınca da.

Sonraki sayfa duruşu kendiniz çıkarmaktır. Bu sayfa yalnızca bir satırın çoktan çarptığı duruşu yakalar, ve yalnızca ad uyuyorsa.

Ne yazılır, ne atlanır

  1. İlk program ne yazar?
  2. print("rice") ne olur?
  3. İkinci program ne yazar?
  4. print(tea) try içindeyse, tea'ye hiç değer verilmemişse ve except yalnız ZeroDivisionError adını veriyorsa ne olur?

Ad uymalıdır

İlk ekran skip, sonra done'dur. rice çalışmaz, çünkü duruştan sonra hâlâ try içindedir. İkinci ekran 4.0, sonra done'dur ve skip yazılmaz. NameError, except ZeroDivisionError ile yakalanmaz. done dışarıdadır, bu yüzden hem adı verilen duruş yakalanınca hem try bitince çalışır. Sonraki sayfa duruşu kendiniz çıkarmaktır.

🧠 Bilginizi Test Edin

Başlamaya Hazır

Bilginizi Test Edin

Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör

❓
5
Sorular
🎯
70%
Geçmek İçin
♾️
∞
Süre
🔄
∞
Deneme

📝 Talimatlar

  • Her soruyu dikkatle okuyun
  • Her soru için en iyi cevabı seçin
  • Quiz'i istediğiniz kadar tekrar alabilirsiniz
  • İlerlemeniz üstte gösterilecek