Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Try..Finally Hakkında Bilinen Yanlış
#1
Selamlar,

Öncellikle şu puan meselesinin neden bu kadar önemsediğimi anlatmak isterim. 2 gün sonra doğum günüm bu yüzden DelphiCan forumunda "Uzman" kategorisine yükselerek kendimi de ödüllendirmek istiyorum. Bu yüzden durmadan bu gece makale yazmayı planlıyorum. Sahura kadar açığım yani  Shy



Şimdi konumuza dönelim. Birçok geliştirici aslında try..finally yapısını şu şekilde sanıyor; "kod sıkıntısız çalışırsa bana try..finally içinde ki sonucu göster değilse except ile durdur." ama olay öyle değil. Belki birçoğumuz şu şekilde aramalar bile yapmıştır; "try..finally..except".  Shy  Burada aslında şu isteniyor; benim yazdığım kod bloğunda hata varsa except  yoksa finally yapısı içinde ki sonucu göstersin. Hayır bu düşünce yanlış çünkü finally yapısı ister kod hatalı olsun isterse hatasız olsun her türlü o sonucu gösterir. Ne demiş şair; 


Alıntı:Yani sen elmayı seviyorsun diye elmanın da seni sevmesi şart mı?
 
Burada finally'nin demek istediği; Yani sen hatayı alıyorsun diye benim durmam şart mı? Şaka bir kenara bu yüzden try..finally..except üçlüsü ile siz hata olunca except olmazsa finally diye bir sonuç elde edemezsiniz. Peki bunu nasıl yapacağız derseniz  şu mantıkla ilerleyin; Eğer except bloğuna takılmaz ise zaten hata yoktur bu sebeple except altında ki kodlar çalışabilir durumda olacaktır. Eğer kod ile anlatmak gerekir ise;

begin
 try
 //Işlemler
except
 ShowMessage('Hata!');
 exit;
end;
ShowMessage ('Bitti');
end;

Umarım faydalı bir ipucu olmuştur! 


Saygılarımla,
İyi çalışmalar.
kisisel_logo_dark.png
WWW
Cevapla
#2
kardeşim doğum günün hedefenine yardım amacıyla ve konunun önemi için 4 rep gönderiyorum Big Grin
Cevapla
#3
(27-05-2018, Saat: 00:55)Burakc Adlı Kullanıcıdan Alıntı: kardeşim doğum günün hedefenine yardım amacıyla ve konunun önemi için 4 rep gönderiyorum Big Grin

İlgi ve düşünceniz için teşekkürler  Heart
kisisel_logo_dark.png
WWW
Cevapla
#4
Doğum günün şimdiden kutlu olsun , puani da verdim ama yazdigin try except blogu bende hatali olmus.
hata oluşursa iki showmessage komutu da çalışır.
WWW
Cevapla
#5
Bi destek de benden .. Bilgi için teşekkürler.
Cevapla
#6
(27-05-2018, Saat: 01:30)sadettinpolat Adlı Kullanıcıdan Alıntı: Doğum günün şimdiden kutlu olsun , puani da verdim ama yazdigin try except blogu bende hatali olmus.
hata oluşursa iki showmessage komutu da çalışır.

Uyarı için teşekkürler üstat bir yanlışlık olmuş. Düzenleyeceğim.  Heart
kisisel_logo_dark.png
WWW
Cevapla
#7
Neden "uzman" kategorisine yükselmek istiyorsun ki? Bence en güzeli başlangıç, acemi kategorileri.. Kendi adıma çözemediğim, anlamadığım bir şeyi sorarken o kadar rahatım ki Smile Uzman kategorisinde olsam, adamın kategorisine bak, sorduğu soruya bak vb. şeyler denir diye eminim kendime sıkıntı yapardım.
+4 puan da benden, doğum gününüz de şimdiden kutlu olsun.
Cevapla
#8
Afrikada fil arayan bir yazılımcı anekdotunu hatırlatayım.

Bir Fizikçi, Biyolog, Matematikçi ve Yazılımcı Afrika kıtasında fil arama görevi verilir. 

Lafı uzatmayayım, kıssadan gideyim; her bilim dalı kendisi için tanımlayacak yöntemler uygular. Karşılaştığı canlılar için boyut, kan değerleri, görünüm vs. 

Her birisi de Afrika kıtasında yukarıdan Cebelitarık boğazından başlar, aşağıda Ümit Burnu bölgesinde aramayı sonlandırır. 

Şimdi sıkı durun, aralarından sadece Yazılımcı Ümit Burnu'na bir tane fil bırakarak işe başlar. 

Try   Finally buna benzer.  Smile
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#9
(28-05-2018, Saat: 04:37)canbir Adlı Kullanıcıdan Alıntı: Neden "uzman" kategorisine yükselmek istiyorsun ki? Bence en güzeli başlangıç, acemi kategorileri.. Kendi adıma çözemediğim, anlamadığım bir şeyi sorarken o kadar rahatım ki Smile Uzman kategorisinde olsam, adamın kategorisine bak, sorduğu soruya bak vb. şeyler denir diye eminim kendime sıkıntı yapardım.
+4 puan da benden, doğum gününüz de şimdiden kutlu olsun.

Merhaba,
Sormadan bir şeyler öğrenmek mümkün değil. 
"Sora sora bağdat bulunur" demiş Atalarımız. Doğru yolu bulmanın, at gözlüklerinden kurtulmanın ve bilinen yanlışlardan kurtulmanın tek yolu sormaktır.
Google+'ta yer alan sorulara bakarsanız, ileri seviyede yazılımcı diyebileceğimiz (MVP) bilindik bir çok isim soru soruyor. 

Seviye ne olursa olsun, soru sormayı bilmek gerekiyor.
Cevapla
#10
(28-05-2018, Saat: 04:37)canbir Adlı Kullanıcıdan Alıntı: Neden "uzman" kategorisine yükselmek istiyorsun ki? Bence en güzeli başlangıç, acemi kategorileri.. Kendi adıma çözemediğim, anlamadığım bir şeyi sorarken o kadar rahatım ki Smile Uzman kategorisinde olsam, adamın kategorisine bak, sorduğu soruya bak vb. şeyler denir diye eminim kendime sıkıntı yapardım.
+4 puan da benden, doğum gününüz de şimdiden kutlu olsun.

Düşünceniz ve ilginiz için teşekkürler hocam. Low seviyesi benim için düşük bir durumda. Bunun açığını kapatmam için o bölümü hep merak etmişimdir. Bu kadar Smile

(28-05-2018, Saat: 07:56)mrmarman Adlı Kullanıcıdan Alıntı: Afrikada fil arayan bir yazılımcı anekdotunu hatırlatayım.

Bir Fizikçi, Biyolog, Matematikçi ve Yazılımcı Afrika kıtasında fil arama görevi verilir. 

Lafı uzatmayayım, kıssadan gideyim; her bilim dalı kendisi için tanımlayacak yöntemler uygular. Karşılaştığı canlılar için boyut, kan değerleri, görünüm vs. 

Her birisi de Afrika kıtasında yukarıdan Cebelitarık boğazından başlar, aşağıda Ümit Burnu bölgesinde aramayı sonlandırır. 

Şimdi sıkı durun, aralarından sadece Yazılımcı Ümit Burnu'na bir tane fil bırakarak işe başlar. 

Try   Finally buna benzer.  Smile
 Değerli örnek için teşekkürler hocam  Heart
kisisel_logo_dark.png
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Temiz kod yazma hakkında (Güncellendi : 16/10/2023) cinarbil 1 827 16-10-2023, Saat: 17:12
Son Yorum: cinarbil



Konuyu Okuyanlar: 1 Ziyaretçi