Ana içeriğe atla

What is Exception ?

Exception Türkçeye "istisna" olarak çevrilebilir.Ben java üzerinden sizlere bu konuda bilgi vereceğim.Java exceptionlara karşı çok sert davranır.Yazılan bir programda çalışmasına fırsat bırakmadan exception oluşma  ihtimali varsa compiler edilmeden hata verecektir.Genelde programcılar arasında bu durum pek hoş karşılanmaz.En azından deneyimi olmayanlar arasında...Bir exception varsa ben düzeltirim diyerek programın çalıştırılmasını en azından compiler edilmesini isterler.Ancak bu sıkı tutum büyük projelerde bulunmaz nimettir.Çünkü program ilk başta hata vermeyebilir. 10 bin satırlık programınız olduğunu düşünün ve birde bakmışız ki programda bir açık var ve bu açığı deneyen kullanıcı programın çökmesine neden oluyor.İşte bu şekilde büyük programlarda açığı kapatmak için yeniden yazmak bile gerekebilir.Biz bunu ufak parçalarda çıkabilecek sorunları o an düşünüp çözmezsek söylediğim örnekte olduğu gibi büyük problemler ortaya çıkabilir.Ufaktan exceptionların ne tür sebeplerden oluştuğunu ve nasıl yakalayabileceğimizi anlatmaya başlayalım.

Exception oluşma nedenleri :

  • Açılmak istenen dosya yoksa yada ulaşma izni bulunmuyorsa.
  • İnternet bağlantısı kopmuşsa 
  • Programa beklenmedik türde girdi yapılmışsa
  • vs vs...
Peki yukarıda yazdığımız gibi bu türde hatalar programımızda bulunuyorsa ne yapmalıyız ?
Bu soruya cevap olarak javada exception yakalama mekanizmamız bulunuyor.

try{
// exceptiona sebebiyet verme ihtimali olan kod parçası
{catch(Exception){
// try komutunda eğer bir exception fırlamışsa çalıştırılacak kod parçası
}

Evet yukarıda yazdığım gibi bir yapıyı kullanırsak program exceptionı yakalayacak ve catch sütunundaki kodları çalıştıracaktır.Exception türlerinide daha sonraki yazımızda değineceğim ve bu sayede aldığımız hatayı noktasal olarak tespit edip çözüm arayışlarına geçebileceğiz.

Yorumlar

Bu blogdaki popüler yayınlar

Temel Veri Yapıları

Veri yapısı ,  bilginin saklanmış biçimidir.Programın daha verimli çalışmasının sağlanması açısından programcının veri yapılarını bilmesi gerekir.Programların hızı dikkate alındığında farklı tipte veri yapıları kullanılırsa daha verimli kodlar yazılabilir.Temel veri yapılarımız: dizi , yığın , kuyruk ve listedir. Diziler  Aynı türden verilerin tutulduğu gruplardır.Bir indis yardımıyla bulundukları konum ifade edilir.İndis her zaman 0 dan başlar ve n'e kadar devam eder.Dizilerde kullanılabilecek veri türleri Char , İnt , Float , Double sırasıyla 1,2 ,4 ve 8 bytelık alan tutarlar. Yığınlar Günümüzde en çok kullanılan veri yapısı yığınlardır.Son giren ilk çıkar veya LIFO(last in ,first out) kuralıyla çalışırlar.Bu veri yapısını üst üste koyulan bozuk paralar gibi düşünebiliriz.En üstte olan (en son koyduğumuz) parayi ilk olarak almak zorundayız.Ayrıca yığınlar derine arama yapan özyinelemeli algoritmalarda kullanılmaktadır. Kuyruk Bu veri yapısı ilk giren ilk çıkar veya FIFO(fir

SOLID Object Oriented Programing Principles

SOLID program yazarken (ideal program) kullanmamız gereken bazı kuralların ya da tasarımların baş harflerinin kısaltmasıdır.5 adet standart kuralımız vardır.Bu arada tasarımın tanımını daha önceden yapmıştık ancak hatırlatmada fayda var.Tasarımla seneler boyunca bir çok programcının karşısına çıkan sorunların çözümlenmiş şekilde en ideal olarak sunulmuş halidir.Bizimde Amerikayı tekrardan keşfetmemize tabiki gerek yok.Üstadlarımızın tavsiyelerine , oluşturdukları prensiplere ve kurallara uyarak gayet düzgün programlar yazabiliriz ve bunları testable şekilde sunarız.Uzun lafın kısası konumuza geri dönüyorum. S ingle Responsibility - Her kullanılan modülün tek bir işlevi olmalı ve olası bir değişiklikte tek bir nedene dayanmalıdır. O pen/Closed - Kodumuz geliştirmeye açık yeniden yapılanmaya kapalı olmalıdır.Refactoring ve ya metodun tekrardan yazılması gibi bir durum söz konusu olmamalıdır. L iskov's Substitution - Türeyen sınıf üyeleri ile temel sınıfın üyelerinin aralarınd

Polindrom Sayılar

Birbirini takip eden sağdan sola yada soldan sağa okunuşları değişmeyen sayılar yada karakterlere polindrom sayılar(karakterler) denir. C'de bir polindrom sayı üretme programı yazarsak eğer kodlarımız şu şekilde olacaktır. #include<stdio.h> #include<conio.h> void pol_al(int n) { if (n == 1) printf("1"); else { pol_al(n - 1); printf("%d", n); pol_al(n - 1); } } int main() { int n = 0; printf("Sayi:"); scanf_s("%d", &n); pol_al(n); getchar(); getchar (); return 0; }