0Pricing
Python Academy · Ders

try / except / else / finally

Her senaryo için özel durum işleme bloklarını yapılandırın.

try / except / else / finally, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 4 dersten oluşur.

Giriş

Python'ın try/except/else/finally yapısı, hata yönetimi ve temizleme üzerinde tam denetim sağlar.

Temel try/except

try: risky_code() except ExceptionType: handle() — Python, except bloğunu yalnızca bu istisna türü oluşturulduğunda çalıştırır.
try:
    x = int('abc')
except ValueError:
    print('not a number')

İstisna Nesnesini Yakalama

except ValueError as e: istisnayı e değişkenine bağlar. İletiyi almak için str(e) veya e.args kullanın.
try:
    int('oops')
except ValueError as e:
    print(f'Error: {e}')

Birden Çok İstisnayı Yakalama

except (TypeError, ValueError) as e: iki türden herhangi birini yakalar.
for val in ['abc', None, 42]:
    try:
        print(int(val))
    except (TypeError, ValueError) as e:
        print(f'skipping {val!r}: {e}')

Yalın except (bundan kaçının)

except: (tür belirtilmeden) KeyboardInterrupt ve SystemExit dahil EVERYTHING'i yakalar. Neredeyse her zaman bir hatadır; türleri her zaman belirtin.
try:
    risky = 1/0
except ZeroDivisionError:
    print('division error')  # specific

Birden Çok except Yan Tümcesi

Birden çok except bloğunuz olabilir ve her biri farklı bir türü yönetebilir. Python bunları sırayla dener.
def process(val):
    try:
        return 10 / int(val)
    except ValueError:
        print('not a number')
    except ZeroDivisionError:
        print('division by zero')
process('abc')
process('0')

else Yan Tümcesi

try/except/else yapısında else yalnızca NO istisna oluşturulduysa çalışır. Başarılı durumda çalışması gereken kod için kullanın.
try:
    x = int('42')
except ValueError:
    print('bad input')
else:
    print('parsed:', x)

finally Yan Tümcesi

finally, try başarılı olduktan, except çalıştıktan, hatta return veya break sonrasında bile ALWAYS çalışır. Temizleme işlemleri için idealdir.
def read_file(path):
    f = None
    try:
        f = open(path)
        return f.read()
    except FileNotFoundError:
        return None
    finally:
        if f: f.close()
print(read_file('/nonexistent'))

return ile finally

Hem return hem de finally varsa önce finally çalışır; ancak finally içindeki dönüş değeri öncelik kazanır. Dikkatli olun.
def demo():
    try:
        return 'try'
    finally:
        return 'finally'  # overrides!
print(demo())

İç İçe try Blokları

try blokları iç içe yerleştirilebilir. Bir iç istisna, içteki except tarafından yakalanmazsa dışarıya aktarılır.
try:
    try:
        x = 1/0
    except ValueError:
        print('inner')
except ZeroDivisionError:
    print('outer caught it')

İstisnaları Günlüğe Kaydetme

import logging; logging.exception('msg'), tam iz geri bildirimini günlüğe kaydeder. Üretim kodu için idealdir.
import logging
try:
    1/0
except ZeroDivisionError:
    logging.exception('Caught an error')

Hızlı Kontrol

Bir istisna oluşup oluşmadığına bakılmaksızın hangi yan tümce çalışır?

Özet

try/except hataları yakalar. else başarı durumunda çalışır. finally her zaman çalışır (temizleme). Belirli türleri yakalayın; yalın except kullanmaktan kaçının. İstasyona erişmek için as e kullanın.

Devam Edin

Harika çalıştınız! İlerlemenizi sürdürmek için sonraki derse geçin.

Sıkça Sorulan Sorular

“try / except / else / finally” dersi ücretsiz mi?

Evet — “try / except / else / finally” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 4 dersten oluşur.

“try / except / else / finally” dersinde ne öğreneceğim?

Her senaryo için özel durum işleme bloklarını yapılandırın. Python Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Python Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Python Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“try / except / else / finally” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Python Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Python Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Özel Durumları Anlama
  2. try / except / else / finally
  3. Özel Durum Oluşturma ve Yeniden Oluşturma
  4. Özel Durum Sınıfları
← Python Academy Sayfasına Dön