Try-catch | Engin Polat\'ın Windows 8 , Windows Phone 8 ve C# içerikli programcılık sitesi

Arşiv

Etiketlenen yazılar try-catch

C# Try-Catch-Finally Kod Bloğu Hakkında

24 January 2010 4 yorum

Geçen aylarda BilgeAdam‘da bir öğrencimin sorduğu soru geldi aklıma. Soru aslında çok basit, fakat farkettim ki, internette bu konu ile ilgili pek kaynak yok. Bari kendim yazayım dedim. Soru şu;

Bir method'dan geriye true/false değer döndürmem lazım.

Method içerisine yazdığım kodları try-catch-finally blokları içerisine almam gerekiyor.

Eğer try içerisinde hata oluşmazsa, geriye true değer döndüreceğim. Hata oluşur ve kod catch bloğuna girerse false değer döndüreceğim.

Ama finally kod bloğunda yapmam gereken işler var. (Açık bağlantıları kapatmak, vs.)

Eğer try-catch içerisinde return ifadesini kullanırsam, finally bloğundaki kod çalışır mı?

Sorunun doğru cevabı için; Devamını oku…

Kısa Sınav – 6

07 December 2009 Yorum yapılmamış

Veritabanındaki Stored Procedure‘ları çalıştırabilmek üzere bir Data Access Layer (DAL) tasarlıyorsunuz. Açtığınız SqlConnection‘ların kapatıldığından emin olmak için Try-Catch‘lerin Finally bloklarına uygun kodları yazıyorsunuz. Uygulamayı çalıştırdığınızda SqlConnection‘ın kapatılacağı satırda NullReferenceException üretiliyor ve program hata verip, kapanıyor.

Ne yapmanız lazım?

  • Eğer SqlConnection nesnesi null ise InvalidOperationException fırlatılmalı
  • Önce SqlConnection nesnesinin durumuna bakmalı, eğer açık durumda ise kapatılmalı
  • Kapatma kodundan önce, SqlConnection nesnesinin null’dan farklı olduğu kontrol edilmeli
  • Finally bloğunda yer alan SqlConnection‘ı kapatma kodu Try-Catch bloğuna alınmalı

Sorunun doğru cevabı için; Devamını oku…