Gelişmiş programlama dillerinin yapısında try catch finally komutları bulunmaktadır. Bu komutlar sayesinde yazılım geliştiricileri programı oluşabilecek hatalardan koruyabilmektedir. Arjan Hocamız sayesinde bunları ilk gördüğümde büyülenmiştim. Sonrasında fark ettim ki try catch finally kullanımı iyi olduğu kadar hatalı da olabiliyor.
Try Catch Finally Kullanımı Nedir ?
Try Catch Finally birer kod bloğudur. Kod bloklarına bir örnek olarak ifi verebilirim. Try içerisine yazılan kodlar denenecektir. Yani program ilk olarak bu kodları yapmayı deneyecektir.
Catch blokları içerisine tıpkı ifte olduğu gibi bazı şeyler yazıyoruz. Bunlar hata çeşitleridir. Try içerisindeki kod denenirken burada belirttiğimiz hata çeşidini yakalarsa program catch kod bloğundaki kodu çalıştıracaktır.
Finally içerisindeki kod ise her durumda çalışacaktır.
Catch içerisinde yakalayabileceğiniz hataları Exception tipleri olarak söyleyebilirim.
Hatalı Kullanımı
Her fonksiyon içerisinde bunları kullanmak bir önlem tipidir evet ancak bazı basit işlevli Exception oluşturmayacak fonksiyonlardaki kullanıma gerek yoktur.
Catch içerisine Exception yazıp geçmek ve gelen exceptionun tipini algılamadan programın yoluna devam etmesi sağlıklı sonuç doğurmayacaktır. Bu exceptionlar not edilip bir sonraki güncelleme bu olasılıklar da değerlendirilmelidir.
Exception hatasını kullanıcıya göstermek güvenlik açığı doğurabilir.
İç içe try catch bloklarında yazılımcının kaybolması.
Programda doğan hataların catch ile örtbas edilmesi ve bunlara göre önlem ilerki güncellemelerde alınmaması yapılan en büyük hatalardan birisidir. Yazılımı kullanırken kullanıcı bir yerde takılmıyor nasıl olsa program çalışıyor, kullanıcı fark etmedi deyip yazılımcının kendisini kandırma durumudur.
Çocukluğumdan beri arabalara olan ilgim babam sayesinde başlamıştır. Araba manyağı seviyesinde bir ilgim var ancak bunu her ortamda dile getirmem. Teknolojiye ve bilgisayara olan ilgim kendimi tanımaya başladım başlayalı oldu. Şimdi ise kendimce kod yazabilen bir bilgisayar mühendisi olarak çalışıyorum.