Konular

Javada Try-catch-finally Ve Throw, Throws Kullanımı

Javada try-catch-finally ve throw, throws kullanımı detaylı anlatım

Javada try-catch-finally ve throw, throws kullanımı

Çalışma zamanında beklenmeyen bir hata oluşması durumuna exception; bir istisnanın yaratılıp program içerisine atılması işlemine throwing; oluşan bir istisnayı yakalayıp problemin çözülmesi adına belirtilen ifadeleri çalıştırma  işlemine catching; istisna ile uğraşan kod bloğuna catch clause (catch block); istisnanın oluştuğu noktada kontrol sağlayan bir dizi metot çağırma işlemine stack trace denir.

İstisnalar için izlenen kod, bir try bloğu içerisinde tutulur. Bu bloğun anlamı ‘ bu kodu çalıştır ve istisna oluşacak mı gör ‘ şeklinde ifade edilebilir. Eğer try bloğu içerisinde bir istisna meydana gelirse, bir istisna nesnesi yaratılır ve kod içerisine atılır. Programımız bu istisnayı catch ifadesi ile yakalayabilir ve işleyebilir. Her catch bloğu ne tipte bir istisnayı yakalayabileceğini belirler ve içerisinde o tipte istisnayı işlemek üzere bir istisna işleyici bulunur. Eğer programcı bir istisnayı bizzat atmak istiyorsa  throw ifadesini kullanacaktır. Bir metottan atılan her istisna bir throws kalıbı ile belirtilir. Son olarak finally ile belirtilen bloğun içindeki kod, istisna oluşsun oluşmasın kesinlikle çalışması gereken koddur. Yani bazı kodların her ne olursa olsun çalışması gerekiyorsa finally bloğunun içinde yer almalıdır.

Bazı İstisnalar ;

- ArithmeticException; Sıfıra bölme gibi aritmetik hata.

- ArrayIndexOutOfBoundsException; Dizi indeksi sınırların dışındadır.

- ArrayStoreException; Bir dizi elemanına, uyumsuz bir tipin atanması.

- ClassCastException; Geçersiz tip ataması.

- IllegalArgumentException; Bir metot çağırmak için geçersiz argüman kullanımı.

- IllegalMonitorStateException; Kilitlenmemiş bir kanalda bekleme gibi geçersiz izleme işlemi.

- IllegalStateException; Ortam veya uygulama yanlış durumdadır.

- IllegalThreadStateException; Talep edilen işlem geçerli kanal durumuyla uyumlu değildir.

- IndexOutOfBoundsException; Bazı indeks tipleri sınırın dışındadır.

- NegativeArraySizeException; Negatif boyutta oluşturulan dizi.

- TypeNotPresentException; Tip Bulunamadı.

 

Try - Catch

Bu örnekte iki tane catch(istisna) tanımladık, döngüde sadece tanımladığımız kadar istisna olur.

package trycatch;

import javax.swing.JOptionPane;

public class Main {

    public static void main(String[] args) {
       
        // TRY - CATCH

        try {

        int Bölünecek=0, Bölen=0;

        Bölünecek = Integer.valueOf(JOptionPane.showInputDialog("Bölmek İstediğiniz Sayıyı Giriniz"));
        Bölen = Integer.valueOf(JOptionPane.showInputDialog(Bölünecek + "Sayısını Kaça Böleceksiniz"));
        long Sonuc = Bölünecek / Bölen;
        } catch (ArithmeticException Hata) {
        JOptionPane.showMessageDialog(null, "Matematiksel Hata");
        } catch (NumberFormatException Hata) {
        JOptionPane.showMessageDialog(null, "Girilen Değer Rakam Olmalı");
       
        }
    }
}

Ekran Çıktısı;

Javada Try-catch-finally Ve Throw,
Throws
KullanımıJavada Try-catch-finally Ve Throw, Throws
Kullanımı

Javada Try-catch-finally Ve Throw, Throws
KullanımıJavada Try-catch-finally Ve Throw, Throws
Kullanımı

Javada Try-catch-finally Ve Throw, Throws
Kullanımı

 

Try - Catch - Finally

Bu örnekte ise finally,tanımladığımız hatalar olmasa bile programın sonunda sanki bir hata varmış gibi ya da hata olsa bile sanki tanımlanmamış farklı bir hata varmış gibi davranır. 

 package trycatch;

import javax.swing.JOptionPane;

public class Main {

    public static void main(String[] args) {
       
        // TRY - CATCH - FİNALLY

        try {

        int Bölünecek=0, Bölen=0;

        Bölünecek = Integer.valueOf(JOptionPane.showInputDialog("Bölmek İstediğiniz Sayıyı Giriniz"));
        Bölen = Integer.valueOf(JOptionPane.showInputDialog(Bölünecek + "Sayısını Kaça Böleceksiniz"));
        long Sonuc = Bölünecek / Bölen;
        } catch (ArithmeticException Hata) {
        JOptionPane.showMessageDialog(null, "Matematiksel Hata");
        } catch (NumberFormatException Hata) {
        JOptionPane.showMessageDialog(null, "Girilen Değer Rakam Olmalı");
        } finally {
        JOptionPane.showMessageDialog(null, "Finally");
        }

    }
}
 

 

Ekran Çıktısı;

Javada Try-catch-finally Ve
Throw, Throws
KullanımıJavada Try-catch-finally Ve Throw, Throws
KullanımıJavada Try-catch-finally Ve Throw, Throws
Kullanımı

 

Throw

Programımızın açıkça throw ifadesini kullanarak bir istisnayı fırlatmasıda mümkündür. 

 package trycatch;

import javax.swing.JOptionPane;

public class Main {

    public static void main(String[] args) {
       
        // THROW

        try {
       
        int Bölünecek=0, Bölen=0;

        Bölünecek = Integer.valueOf(JOptionPane.showInputDialog("Bölmek İstediğiniz Sayıyı Giriniz"));
        Bölen = Integer.valueOf(JOptionPane.showInputDialog(Bölünecek + "Sayısını Kaça Böleceksiniz"));
        long Sonuc = Bölünecek / Bölen;

        throw new ArithmeticException ("Hata");
       

        } catch (ArithmeticException Hata) {
        JOptionPane.showMessageDialog(null, "Matematiksel Hata");
        }

       
    }
}
 

 

Throws

Eğer bir metot yönetemediği bir istisnaya neden olursa, metot çağırıcılarının kendilerini bu istisnaya karşı koruyabilmeleri için, metodun bu davranışı belirtmesi gerekir. Bunu, metodun deklarasyonuna bir throws cümleciği ekleyerek yapabilirsiniz. 

package trycatch;

import javax.swing.JOptionPane;

public class Main {

    public static void main(String[] args) throws ArithmeticException, NumberFormatException {
       
        // THROWS

        try {
       
        int Bölünecek=0, Bölen=0;

        Bölünecek = Integer.valueOf(JOptionPane.showInputDialog("Bölmek İstediğiniz Sayıyı Giriniz"));
        Bölen = Integer.valueOf(JOptionPane.showInputDialog(Bölünecek + "Sayısını Kaça Böleceksiniz"));
        long Sonuc = Bölünecek / Bölen;

        } catch (ArithmeticException Hata) {
        JOptionPane.showMessageDialog(null, "Matematiksel Hata");
        } catch (NumberFormatException Hata) {
        JOptionPane.showMessageDialog(null, "Girilen Değer Rakam Olmalı");
        }

    }
}

 

 

Numan Bezaroğlu

Yorumunuzu Ekleyin

Java Değişken Tipleri

Byte, short, int, long, float, double, boolean, char, string

58,919 Okunma Henüz yorum yapılmamış 04/11/2009 13:11:31

Java Diziler

Javada diziler nesnedirler, cdeki gibi hafızada yer kaplayan pointer değillerdir. Javada diziler, cye göre daha güvenilirdir. Dizilerin elemanlarına gelişigüzel değerler atayamazsınız. Java, dizi elemanlarını sırasıyla kontrol eder. Dolayısıyla arada değer atanmamış bir elemana rastlanırsa hata oluşur. Bu da cde çıkan hafıza bozulmalarını önler. Javada dizi kullanmak için ilk önce dizinin tipi verilir. Tip verilirken dizinin büyüklüğü belirtilmez

56,561 Okunma 2 Yorum 19/11/2007 15:13:25

Javada Fonksiyonlar

Değer alan ve geriye değer döndüren fonksiyonlar

54,524 Okunma Henüz yorum yapılmamış 01/04/2010 14:39:09

Stringleri Karşılaştırma

Stringler bilinen = operatörleri ile karşılaştırılmazlar, ayrıca == ve != operatörleride stringler içindeki karakterleri karşılaştırmazlar

40,120 Okunma Henüz yorum yapılmamış 18/10/2007 12:43:49

Java Da Operatörler

Aritmetik operatorler 4 işlem ve mod, arttırma operatorleri, ilişkisel operatorler, mantıksal operatorler, kısa devre mantıksal operatorler

39,500 Okunma Henüz yorum yapılmamış 02/12/2009 13:58:19

J2ee, j2se, j2me Nedir?

J2ee,j2se,j2me hakkında bilgi

35,572 Okunma 1 Yorum 21/10/2009 17:00:15 16/07/2014 17:00:35

Java Terimleri

Java, birbirinden farklı aygıtlarda çalışabilen, bu aygıtlar arasında iletişimi kolay hale getiren programlama dili ve platformudur. Java diliyle yazılmış programlar, Windows, UNIX, Mac işletim sistemi yüklü bilgisayarlarda hiç bir değişiklik yapmayı gerektirmeden çalışabilmektedirler

34,921 Okunma Henüz yorum yapılmamış 16/10/2007 13:23:36

Javada Diziler

Java da diziler nesnedir; içerisinde belirli sayıda eleman bulunur. Eğer bu sayı sıfır ise, dizi boş demektir. Dizinin içerisindeki elemanlara eksi olmayan bir tam sayı ile ifade edilen dizi erişim indisi ile erişilir. Bir dizide n tane eleman varsa dizinin uzunluğu da n kadardır; ilk elemanın indisi/konumu 0’dan başlar, son elemanı ise n-1’dir.

30,238 Okunma 1 Yorum 14/04/2008 11:01:20

for Döngüsü

28,344 Okunma Henüz yorum yapılmamış 30/12/2009 11:02:00

Java 3D

Son yıllarda çoklu ortamda ilerleme kaydeden Java, Java3D ile yüksek performans isteyen üç boyutlu grafiklerde de 'Ben varım!' diyor.

27,059 Okunma Henüz yorum yapılmamış 26/01/2009 22:23:10

while döngüsü

Dizilerin olmazsa olmazı

26,437 Okunma Henüz yorum yapılmamış 17/12/2009 10:53:28

Java Operatörleri

Mod Operatörü, Aritmetik Atama Operatörü, Arttırma Azaltma Operatörleri, Iliskisel Operatorler ve Kısa Devre Iliskisel Operatörler, Kısa devre iliskisel operatorler, ? Operatoru

26,429 Okunma Henüz yorum yapılmamış 04/12/2009 12:11:34

Javada İlk Kod

Java classpath tanımlamaları, consolda ilk program yazılması, derlenmesi, çalıştırılması aynı uygulamanın netbeansta yapılışı ve class, java ve jar dosyalarının gösterilmesi

24,874 Okunma Henüz yorum yapılmamış 27/10/2008 22:00:38

Yükleniyor...