top of page

BİLGİSAYAR BİLİMİ KUR 1 - 2. DÖNEM 4. HAFTA

ÜNİTE:


1.3. PROGRAMLAMA


KAZANIMLAR:


1.3.1.6. Metin tabanlı araçlarda oluşturulan bir programı test eder.


1.3.1.7. Metin tabanlı araçlarda oluşturulan programın hatalarını düzeltir.







PYTHON - Hata Yakalama ve Yönetimi


1. Temel try-except Yapısı


try bloğunda hata çıkması muhtemel kodu yazarız; except bloğunda ise bu hata ortaya çıkarsa yapılacak işlemleri tanımlarız.

Bu kodda, kullanıcı geçersiz bir sayı girdiğinde ValueError hatası yakalanır ve kullanıcıya hata mesajı gösterilir.










2. Birden Fazla except Bloğu


Belirli hataları ayırarak farklı işlemler yapmak için birden fazla except bloğu kullanılabilir.

Bu örnekte, hem ValueError hem de ZeroDivisionError için ayrı mesajlar gösterilir.











3. else ve finally Kullanımı


  • else bloğu, try bloğunda hata oluşmazsa çalışır.

  • finally bloğu ise her durumda, hata olsa da olmasa da çalışır. Kaynakları kapatmak veya temizleme işlemleri yapmak için idealdir.


Bu örnek, dosya başarıyla açılamazsa FileNotFoundError yakalar. Ancak finally bloğu her durumda çalışır, bu yüzden dosya.close() ile dosya kapatılır.


Öğrencilerin pratik yapmaları için farklı hataları tetikleyen örnekler deneyebilirsiniz.













Hata Yakalama ve Yönetimi Özet Video:


















Hata Yakalama ve Yönetimi Alıştırmaları:


Temel try-except Yapısı Alıştırması


1. Sayı Girdisi Kontrolü Alıştırması


Kullanıcıdan bir sayı girmesini isteyin ve girilen değerin bir tam sayı olup olmadığını kontrol edin. Hata oluşursa uygun bir mesaj gösterin.


Alıştırma: Programı, kullanıcı float türünde bir sayı girdiğinde de çalışacak şekilde güncelleyin. Yani, int veya float tiplerini kabul eden bir çözüm düşünün.










Temel try-except Yapısı


2. Bölme İşlemi Kontrolü Alıştırması


Kullanıcıdan iki sayı alarak birinci sayıyı ikinciye bölmeye çalışın. Sıfıra bölme durumunda uyarı mesajı verin.


Alıştırma: Programı, kullanıcı int yerine geçersiz bir girdi girdiğinde de hata verecek şekilde genişletin.











Temel try-except Yapısı


3. Dosya Okuma Kontrolü Alıştırması


Bir dosyadan veri okumaya çalışın. Dosya mevcut değilse kullanıcıya bir hata mesajı gösterin.


Alıştırma: Kullanıcıdan dosya adını isteyin ve eğer dosya yoksa farklı bir dosya adıyla tekrar denemesini sağlayın.














Hata Yakalama ve Yönetimi Alıştırmaları:


Birden Fazla except Bloğu Alıştırması


1) Bölme ve Veri Türü Hataları Yapısı Alıştırması


Kullanıcıdan iki sayı isteyin, birinci sayıyı ikinciye bölün ve oluşabilecek farklı hataları yönetin.


Alıştırma: Kullanıcıdan bir sayı daha alın ve her iki hatanın yanında NameError gibi farklı bir hata türünü tetiklemeye çalışın (örneğin, tanımsız bir değişken kullanarak).














Birden Fazla except Bloğu Alıştırması


2. Dosya İşlemleri: Var Olmayan Dosya ve Dosya Yazma İzni Alıştırması


Bir dosyadan veri okumaya ve dosyaya veri yazmaya çalışın. Dosya mevcut değilse veya dosyaya yazma izni yoksa farklı hata mesajları verin.

Alıştırma: Dosyanın adını kullanıcıdan alın ve hem okuma hem yazma işlemlerini kullanarak bu hataları deneyimleyin.















Birden Fazla except Bloğu Alıştırması


3. Liste Hataları Alıştırması


Öğrencilerden bir listedeki elemanlara indeks kullanarak erişmelerini isteyin. Geçersiz bir indeks veya hatalı veri tipi girildiğinde uygun hatayı yakalayın.

Alıştırma: Öğrencilerden listeyi boş bırakmalarını isteyin ve bir IndexError hatası oluşturarak hatayı nasıl yakalayacaklarını görmelerini sağlayın.














Hata Yakalama ve Yönetimi Alıştırmaları:


 else ve finally Kullanımı Alıştırması


1. Dosya Okuma ve Kapama Alıştırması


Kullanıcıdan dosya adını isteyin ve bu dosyayı okumaya çalışın. Dosya varsa içeriğini yazdırın, yoksa hata mesajı verin. Her durumda dosya kapatma işlemini finally bloğunda yapın.

Alıştırma: Dosyanın adını yanlış giren kullanıcıdan tekrar dosya adı isteyip tekrar deneyerek dosyayı açmayı sağlayın.















 else ve finally Kullanımı Alıştırması


2. Sayı Bölme İşlemi Alıştırması


Kullanıcıdan iki sayı isteyin ve birinci sayıyı ikinciye bölün. Hata olmazsa sonucu else bloğunda yazdırın ve işlemin bitiminde finally bloğunda bir mesaj gösterin.

Alıştırma: Öğrencilerden finally bloğunda sonuç başarılı olsa da olmasa da kullanıcıya "İşleminiz tamamlandı." gibi bir geri bildirim mesajı vermelerini isteyin.











 else ve finally Kullanımı Alıştırması


3. Kullanıcı Girişi Doğrulama Alıştırması


Kullanıcıdan bir sayı listesi girmesini isteyin ve her bir değerin bir sayı olup olmadığını kontrol edin. Tüm girişler başarılıysa else bloğunda sayıları toplayın ve sonucu gösterin. İşlemden sonra finally bloğunda “Program sona erdi” mesajı verin.


Alıştırma: Kullanıcının girdiği sayılar hatalıysa, finally bloğunda hatayı tekrar denemesi için bir yönlendirme yaparak döngüye sokmayı deneyin.













Hata Yakalama ve Yönetimi Görevleri:


Temel try-except Yapısı Alıştırması


1. Sayı Girdisi Kontrolü Alıştırması Görevi


Kullanıcıdan bir sayı girmesini isteyin ve girilen değerin bir tam sayı olup olmadığını kontrol edin. Hata oluşursa uygun bir mesaj gösterin.


Alıştırma: Programı, kullanıcı float türünde bir sayı girdiğinde de çalışacak şekilde güncelleyin. Yani, int veya float tiplerini kabul eden bir çözüm düşünün.










Temel try-except Yapısı Alıştırması


2. Bölme İşlemi Kontrolü Alıştırması


Kullanıcıdan iki sayı alarak birinci sayıyı ikinciye bölmeye çalışın. Sıfıra bölme durumunda uyarı mesajı verin.


Alıştırma: Programı, kullanıcı int yerine geçersiz bir girdi girdiğinde de hata verecek şekilde genişletin.











Temel try-except Yapısı Alıştırması


3. Dosya Okuma Kontrolü Alıştırması


Bir dosyadan veri okumaya çalışın. Dosya mevcut değilse kullanıcıya bir hata mesajı gösterin.


Alıştırma: Kullanıcıdan dosya adını isteyin ve eğer dosya yoksa farklı bir dosya adıyla tekrar denemesini sağlayın.














Hata Yakalama ve Yönetimi Görevleri:


Birden Fazla except Bloğu Görevi


1) Bölme ve Veri Türü Hataları Yapısı Görevi


Kullanıcıdan iki sayı isteyin, birinci sayıyı ikinciye bölün ve oluşabilecek farklı hataları yönetin.


Alıştırma: Kullanıcıdan bir sayı daha alın ve her iki hatanın yanında NameError gibi farklı bir hata türünü tetiklemeye çalışın (örneğin, tanımsız bir değişken kullanarak).














Birden Fazla except Bloğu Görevi


2. Dosya İşlemleri: Var Olmayan Dosya ve Dosya Yazma İzni Görevi


Bir dosyadan veri okumaya ve dosyaya veri yazmaya çalışın. Dosya mevcut değilse veya dosyaya yazma izni yoksa farklı hata mesajları verin.

Alıştırma: Dosyanın adını kullanıcıdan alın ve hem okuma hem yazma işlemlerini kullanarak bu hataları deneyimleyin.















Birden Fazla except Bloğu Görevi


3. Liste Hataları Görevi


Öğrencilerden bir listedeki elemanlara indeks kullanarak erişmelerini isteyin. Geçersiz bir indeks veya hatalı veri tipi girildiğinde uygun hatayı yakalayın.

Alıştırma: Öğrencilerden listeyi boş bırakmalarını isteyin ve bir IndexError hatası oluşturarak hatayı nasıl yakalayacaklarını görmelerini sağlayın.














Hata Yakalama ve Yönetimi Görevleri:


 else ve finally Kullanımı Görevi


1. Dosya Okuma ve Kapama Görevi


Kullanıcıdan dosya adını isteyin ve bu dosyayı okumaya çalışın. Dosya varsa içeriğini yazdırın, yoksa hata mesajı verin. Her durumda dosya kapatma işlemini finally bloğunda yapın.

Alıştırma: Dosyanın adını yanlış giren kullanıcıdan tekrar dosya adı isteyip tekrar deneyerek dosyayı açmayı sağlayın.















 else ve finally Kullanımı Görevi


2. Sayı Bölme İşlemi Görevi


Kullanıcıdan iki sayı isteyin ve birinci sayıyı ikinciye bölün. Hata olmazsa sonucu else bloğunda yazdırın ve işlemin bitiminde finally bloğunda bir mesaj gösterin.

Alıştırma: Öğrencilerden finally bloğunda sonuç başarılı olsa da olmasa da kullanıcıya "İşleminiz tamamlandı." gibi bir geri bildirim mesajı vermelerini isteyin.











 else ve finally Kullanımı Görevi


3. Kullanıcı Girişi Doğrulama Görevi


Kullanıcıdan bir sayı listesi girmesini isteyin ve her bir değerin bir sayı olup olmadığını kontrol edin. Tüm girişler başarılıysa else bloğunda sayıları toplayın ve sonucu gösterin. İşlemden sonra finally bloğunda “Program sona erdi” mesajı verin.


Alıştırma: Kullanıcının girdiği sayılar hatalıysa, finally bloğunda hatayı tekrar denemesi için bir yönlendirme yaparak döngüye sokmayı deneyin.



















Ödev:


Kullanıcıdan bir sayı listesi girmesini isteyin ve her bir değerin bir sayı olup olmadığını kontrol edin. Tüm girişler başarılıysa else bloğunda sayıları toplayın ve sonucu gösterin. İşlemden sonra finally bloğunda “Program sona erdi” mesajı verin ve oluşturduğunuz kodların fotoğrafını aşağıdaki mail adresine gönderiniz.


Maile isim soy isim, sınıf ve okul numarası bilgilerinizi yazmayı unutmayınız.


egitimdebil@gmail.com


Önerilen program: IDE - PYTHON (Bilgisayarla çalışmayanlar, kodları deftere yazıp fotoğrafını gönderebilirler.)


Bilişim Teknolojileri Öğretmeni: İshak BEZCİ


Son gün ve saat : Pazar gece 12.00








Comments


bottom of page