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

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; }

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 FIF...

What is design pattern ?

Tasarım desenleri tam olarak Türkçe karşılığı olmasa da bu şekilde ifade edilir.Genelde yazılımın tasarım sürecinde karşımıza çıkan sorunlara , tecrübeler doğrultusunda kaliteli çözümler üretilen kalıplardır.Bu kalıpları kullanarak daha ileride karşımıza çıkacak sorunlara yada updatelere esnek çözümler bulabiliriz.Bu sayede hem kodlarımız daha anlaşılır olur hemde değişiklikler rahatlıkla uygulanabilir. Var olan bir problem üzerinde çalışan programcı bulunan çözümü paternleri bildiği için hemen anlayacak ve nasıl bir yol izleyeceğini bilecektir. Creator Design Patterns Abstract Factory Builder  Prototype Singleton Verdiğimiz bilgileri örnekle açıklamak gerekirse; ihtiyacımız olan bütün sistemin kullanabileceği ancak sadece bir tane oluşturulabilen bir class tasarlamak.Biz bunu yukarıda da isimlerinden anlaşılacağı gibi zaten bu yapıyı başkalarıda kullanmış ve en stabil duruma getirilip adı Singleton Design Pattern koyulmuş tasarımı kullanabiliriz. Abstract Factory , B...