10. SınıfBilişim Teknolojileri

Hata Yakalama ve Ayıklama

Bilişim Teknolojileri · 10. Sınıf · Form Uygulamaları

Konu Anlatımı

Hata Yakalama ve Ayıklama

Bir form uygulaması hazırlarken kodun hatasız çalıştığı düşünülür; oysa kullanıcı alanı boş bırakabilir, sayı yerine harf yazabilir, veritabanı bağlantısı kopabilir. Ortaya çıkan bu aksaklıklar hata olarak adlandırılır ve program bunu kendiliğinden durdurur. Programcının görevi hatayı beklemekten çok, hatayı yakalayıp yönetilebilir hâle getirmektir. Konumuzun ana fikri budur: hata, programı durduran bir son değil, tasarım gereği ele alınması gereken bir durumdur.

Diğer bir ayrım da ayıklama ile ilgilidir. Ayıklama, hatanın nerede oluştuğunu bulma çalışmasıdır; kod okunur, adım adım izlenir, değişkenlerin değerleri incelenir. Hata yakalama ise çalışma sırasında ortaya çıkan durumu yakalayıp yerinde çözüme bağlamaktır. Bu ikisi birbirinin yerine geçmez. Geliştirici önce ayıklamayla hatayı bulur, sonra yakalama yapısıyla aynı hatayı bir daha yaşandığında programı düşürmeyecek hâle getirir.

1. Ne Öğreneceğiz ve Ön Bilgi

Bu bölümde üç temel hata sınıfını tanıyacak, hata yakalama yapısının hangi parçalarından oluştuğunu inceleyecek ve bir form uygulamasında kullanıcıya anlaşılır bir mesaj gösterme sorumluluğunu ele alacağız. Ön bilgi olarak değişken kavramını, form üzerindeki girdi denetimlerini ve temel akış kontrol yapılarını bilmek yeterlidir.

Bu ayrımın neden önemli olduğunu şöyle düşünebiliriz. Sözdizimi hatası denetim aşamasında yakalanır, çalışma zamanı hatası ancak ilgili satır çalışırken ortaya çıkar, mantık hatası ise hiçbir uyarı vermeden kendini belli etmez. Hata yakalama yapısı esas olarak çalışma zamanı hataları için tasarlanmıştır.

2. Temel Kavramlar ve Sınıflandırma

Çoğu programlama dilinde hata yakalama üç parçalı bir blokla kurulur: denenecek işlem yazılan bölüm, hata durumunda yapılacak iş ve isteğe bağlı son temizliği yapan bölüm. Buna yaygın adıyla denene-hata-yakala düzeni denir. Dilden dile blok adları değişebilir, ancak düzenin işleyiş mantığı her zaman aynıdır.

Hata sınıfıNe zaman ortaya çıkarTipik belirti
Sözdizimi hatasıProgram çalıştırılmadan önceEksik parantez, tanımsız değişken adı
Çalışma zamanı hatasıİlgili satır çalışırkenSayıya çevrilemeyen metin, sıfıra bölme
Mantık hatasıProgram bittikten sonra fark edilirSonuç beklenenden farklı çıkar

Yakalanan hata bir hata nesnesi olarak gelir ve bu nesne genellikle hatanın açıklamasını taşıyan bir mesaj özelliği içerir. Bu mesaj geliştirici için değerlidir, ancak son kullanıcıya olduğu gibi gösterilmemelidir. Uzun bir yığın izi, dosya yolu veya iç değişken adları içeren teknik bir metin, sıradan bir kullanıcıyı korkutur ve programı bozuk gösterir.

  1. Kullanıcıdan gelen veri önce denetlenir, boş veya biçimi bozuk olan alanlar yakalanır.
  2. Veri işlenirken ortaya çıkabilecek hatalar denene-hata-yakala bloğuyla karşılanır.
  3. Yakalanan hata anlaşılır bir mesajla bildirilir, ayrıntılı bilgi günlüğe yazılır.

3. Basit Örnek ve Adım Adım Çözüm

Basit örneğimizde kullanıcı yaş alanına bir sayı yazacak, program bu değeri okuyup ilgili kaydı işleyecektir. Alan boş bırakılırsa ya da harf yazılırsa ortaya çalışma zamanı hatası çıkar. Çözümü adım adım kuruyoruz.

Adım 1: Yaş alanının boş olup olmadığını denetle ve boşsa işlemi sonlandır. Adım 2: Alandaki metni sayıya çevirmeyi dene; dönüşüm başarısızsa yakaladığın hatayı oku ve kullanıcıya anlaşılır bir uyarı göster. Adım 3: Sayı elde edildiyse işlemi sürdür. Adım 4: Hata olsa da yapılması gereken son işlem varsa onu da çalıştır ve programı düzgün kapat.

Yakalanan hata mesajını doğrudan ekrana yazdırmak yerine, mesajı okuyan bir yordam çağırmak daha temiz bir tasarımdır. Böylece aynı uyarı birden çok yerde aynı dille tekrar edilebilir.

4. İleri Örnek ve Saha Uygulaması

Saha uygulaması olarak bir öğrenci kayıt formunu düşünelim. Form, kimlik numarası, ad soyad ve doğum yılı alanlarını içerir. Kullanıcı kaydı tamamladığında program önce alanları tek tek denetler, sonra kaydı veri tabanına yazar. Bu senaryoda birden çok hata kaynağı vardır ve beklenen hatalar ile beklenmeyen hatalar ayrı ayrı ele alınmalıdır.

Beklenen hata, kullanıcı girdisiyle ilişkilidir: alan boştur, doğum yılı gelecekte bir tarihtir, kimlik numarası beklenen uzunlukta değildir. Bu hatalar için gösterilecek mesaj düz, sakin ve düzeltici olmalıdır. Beklenmeyen hata ise veri tabanı bağlantısının kesilmesi ya da diskin dolu olması gibi geliştiricinin önceden sayamadığı durumlardır. Burada mesaj genel tutulur, ayrıntılı teknik bilgi ise hata günlüğüne yazılır.

DurumKullanıcıya gösterilen mesajGeliştiriciye kaydedilen bilgi
Alan boşLütfen alanı doldurunHangi alanın boş kaldığı
Biçim uyuşmuyorYalnızca rakam girinGirilen değerin kayıt dışı gösterimi
Bağlantı kesildiKayıt şu anda yapılamıyorHata türü, zaman damgası, yığın izi

Bu ayrımın faydası ölçülebilir: kullanıcı yalnızca kendisiyle ilgili bir bilgi alır, geliştirici ise hatayı yeniden üretebilecek kadar ayrıntıya kavuşur. Günlük tutulmayan bir projede, kullanıcıya yalnızca mesaj gösterildiğinde gerçekleşen her hata kayıp sayılır.

5. Karşılaştırma Tablosu ve Denetim

Bir form uygulamasını yayına almadan önce denetim yapılmalıdır. Denetimde yalnızca düzgün çalışan yol değil, kırılan yollar da denenmelidir. En sık kullanılan dört yöntem şunlardır.

Denetim yöntemiNeyi ararNe zaman yapılır
Girdi denetimiBoş alan, hatalı biçim, fazla uzun metinKayıt düğmesine basıldığında
Hata yakalamaİşlem sırasında oluşan beklenmeyen durumVeri tabanına yazma gibi adımlar çevresinde
Günlük tutmaHatanın zamanı, türü ve kaynağıHata yakalandığı anda
Manuel sınamaUç durumlar ve beklenmeyen girdilerSürümden önce

Denetimde kendi hatamızı aramak gerekir. Yaygın bir hata, hata yakalama bloklarının hiç kullanılmaması ve ilk hatanın programı durdurmasına göz yumulmasıdır. Bir başka yaygın hata ise her hatanın aynı mesajla karşılanmasıdır; bu durumda kullanıcı neyi düzelteceğini bilemez. Doğru yaklaşım, hatayı yerine göre sınıflandırıp her sınıfa uygun bir yanıt vermektir.

6. Sık Yapılan Hatalar, Özet ve Kendini Dene

Sık yapılan ilk hata, hata yakalama bloklarının boş bırakılmasıdır. Yakalanan hata için hiçbir işlem yapılmadan geçilirse hata sessizce yutulmuş olur; kullanıcı sonucu beklerken program hiçbir şey yapmıyormuş gibi görünür. İkinci sık hata, teknik ayrıntıyı kullanıcıya olduğu gibi göstermektir. Üçüncü sık hata ise hata yakalamayı, program yazılmaya başlanmadan önce hiç planlamamaktır.

Özetle hata yakalama, programın beklenmedik durumlarda da ayakta kalmasını sağlayan bir güvenlik ağıdır. Ayıklama bu ağın gözü gözü olmasa, hata nereden geldi? Sıralama bütünüyle doğru mudur? Sorularına cevap arar. Birlikte kullanıldıklarında program hem sağlam çalışır hem de geliştiricinin işini kolaylaştırır.

Kendini dene: Kayıt formunda yaş alanına harf yazdığında ne olur? Aynı hata ikinci kez oluştuğunda programın davranışı nasıl değişmelidir?

Hata Yakalama ve Ayıklama — Sık Sorulan Sorular

Hata Yakalama ve Ayıklama nedir?

Bir form uygulaması hazırlarken kodun hatasız çalıştığı düşünülür; oysa kullanıcı alanı boş bırakabilir, sayı yerine harf yazabilir, veritabanı bağlantısı kopabilir. Ortaya çıkan bu aksaklıklar hata olarak adlandırılır ve program bunu kendiliğinden durdurur. Programcının görevi hatayı beklemekten çok, hatayı yakalayıp…

Hata Yakalama ve Ayıklama konusunda ne öğrenilir?

Yakalanmayan bir hata, programın o satırda durmasına ve kullanıcı karşısında teknik bir hata penceresi açılmasına yol açar.

Hata Yakalama ve Ayıklama konusunda sık yapılan hatalar nelerdir?

Boş bırakılan hata bloğu: Yakalanan hata için hiçbir işlem yapılmadan geçildiğinde hata sessizce yutulur ve kullanıcı, işlem yapıldığını sanarak sonuç bekler. Teknik ayrıntının kullanıcıya gösterilmesi: Hata nesnesindeki yığın izi, dosya yolu ve değişken adları doğrudan ekrana yazılırsa sıradan kullanıcı ne olup…

Hata Yakalama ve Ayıklama için hangi formüller ve kurallar kullanılır?

Hata yakalama düzeni üç parçalıdır: denenecek işlem, hata durumunda yapılacak iş, son temizliği yapan bölüm. · Sözdizimi hatası program çalıştırılmadan önce, çalışma zamanı hatası ilgili satır çalışırken, mantık hatası ise program bittikten sonra fark edilir. · Beklenen hata kullanıcı girdisiyle ilişkilidir…

Hata Yakalama ve Ayıklama kazanımları nelerdir?

Sözdizimi, çalışma zamanı ve mantık hatalarını ayırt eder. Denene-hata-yakala düzenini kurar ve son temizleme bölümünü doğru yerleştirir. Kullanıcıdan gelen girdileri işlenmeden önce denetler.

Hata Yakalama ve Ayıklama Kazanımları

Örnek Sorular ve Çözümleri

Örnek Soru 1 kolay

Yakalanmayan bir çalışma zamanı hatası form uygulamasında nasıl bir sonuç doğurur?

  1. A) Program o satırda durur ve ekrana bir hata penceresi çıkar
  2. B) Hata sessizce yok sayılır, program çalışmaya devam eder
  3. C) Hata kaydedilir ve uygulama kendiliğinden yeniden başlar
  4. D) Derleyici hatalı satırı işaretleyip kodu yeniden yazar
Cevabı göster

Doğru cevap: A) Program o satırda durur ve ekrana bir hata penceresi çıkar

Program o satırda kavramı Hata Yakalama ve Ayıklama konusunun temel bir kavramıdır. Detaylar konu anlatımında verilmiştir.

Örnek Soru 2 orta

Denene-hata-yakala düzeninde, işlem hata verse bile çalıştırılması istenen bölüm hangisidir?

  1. A) Hata yakalama bloğu
  2. B) Her hâlükârda çalıştırılan bölüm
  3. C) Denenen işlem bloğu
  4. D) Hata sınıflandırma bloğu
Cevabı göster

Doğru cevap: B) Her hâlükârda çalıştırılan bölüm

Her hâlükârda çalıştırılan kavramı Hata Yakalama ve Ayıklama konusunun temel bir kavramıdır. Detaylar konu anlatımında verilmiştir.

Örnek Soru 3 zor

Hata yakalama ile ayıklama arasındaki temel fark nedir?

  1. A) Hata yakalama çalışma anında, ayıklama ise kaynak kodu inceleme sürecidir
  2. B) Hata yakalama yalnızca görsel projelerde, ayıklama yalnızca metin projelerinde kullanılır
  3. C) İkisi de aynı işlemdir, yalnızca yazılımlarda adı farklıdır
  4. D) Ayıklama hatayı bulmaya, hata yakalama ise onu programı durdurmadan yönetmeye yöneliktir
Cevabı göster

Doğru cevap: D) Ayıklama hatayı bulmaya, hata yakalama ise onu programı durdurmadan yönetmeye yöneliktir

Ayıklama sırasında geliştirici hatanın hangi satırda oluştuğunu bulmaya çalışır. Hata yakalama ise oluşan durumu yakalayıp yerinde çözüme bağlar. İkisi birlikte kullanıldığında hem geliştirme kolaylığı hem de çalışma güvenilirliği artar.

Sıradaki adım

Konu anlatımları hesapsız okunur. Quiz, slayt ve deneme için hesap gerekir.

DersTeders ile devam et

Bilişim Teknolojileri için çalışma yolu

  1. OkuKonu anlatımını bu sayfada bitir.
  2. Soru çözÖrnekleri çöz, cevabı açıklamayla karşılaştır.
  3. Quiz ile pekiştirHesapla kendini ölç.

Slaytla adım adım öğren · Tüm dersler · Ana sayfa

Hesap açTüm dersleri keşfet

Konu anlatımları hesapsız okunur; quiz, slayt ve deneme için hesap gerekir.

Bu sayfa Hata Yakalama ve Ayıklama konusunun anlatımını, kazanımlarını ve örnek sorularını içerir. Konuyla ilgili tüm sorular için testi çöz, diğer konular için DersTeders ana sayfasına geçebilirsin.

Bu konunun öğretmen materyallerini (ders planı, çalışma kâğıdı, çözümlü soru bankası, rubrik) yazdırabilirsin: Yazıcı çıktısı modülünü aç