Konular

Javada try catch Kullanımı

Javada İstisna Yakalama Mantığı

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

  Matematiksel İstisna yakalayıcısı

package try_catch1;

public class Main {

    public static void main(String[] args) {

        try {

        int a = 42 / 0;

        } catch (ArithmeticException Hata) {

            System.out.print(" Hata oluştu :" + Hata.getMessage());

        }
    }
}


  Dizi indeks İstisna yakalayıcısı

package try_catch1;

public class Main {

    public static void main(String[] args) {

        try {

        String Gunler[] = new String[3];

        System.out.println(Gunler[5]);

        } catch (ArrayIndexOutOfBoundsException HataDurumu) {
           System.out.println(HataDurumu.getMessage());
        }
    }
}

 

  Çoklu İstisna yakalayıcılar

package try_catch1;

public class Main {

    public static void main(String[] args) {

        try {
            int array[] = new int[100];
            //array[100] = 100; //1. Hata
            //array[5]=40/0; //2. Hata
            //sdfs //3. Hata

        } catch (ArrayIndexOutOfBoundsException e) {
            System.out.println("Dizi elemanı fazla girildi");
        } catch (ArithmeticException e) {
            System.out.println("Matematiksel Hata: " + e);
        } catch (Exception e) {
            System.out.println("Bir Hata oluştu: " + e);
        }
 
    }
}
 

 

 

package try_catch1;

import javax.swing.JOptionPane;

public class Main {

    public static void main(String[] args) {


        int a=0, b;

        try {
                //a string olursa hata oluşur
                a = Integer.parseInt(JOptionPane.showInputDialog("lütfen integer bir sayı giriniz"));

                //a 0 olursa bölme hatası oluşur
                b=100 / a;
        }
        catch (ArithmeticException e){
            JOptionPane.showMessageDialog(null, "Girilen değer  0 olunca bölünme hatası meydana geldiğinden işlem gerceklestirilmiyor");
            //JOptionPane.showMessageDialog(null, e.getMessage());  //Hatanın mesajını yazar
            //JOptionPane.showMessageDialog(null, e.getStackTrace()); //istisnaya kadar ki çağırma yığınlarını döndürür
        }
        catch (NumberFormatException e){
            JOptionPane.showMessageDialog(null, "Girilen değer rakam olmalı");
        }
    }
}
 

 

  İç İçe  yazılmış İstisna yakalayıcılar

 

package try_catch1;

import javax.swing.JOptionPane;

public class Main {

    public static void main(String[] args) {

        try {
           
            int array[] = new int[100];
            //array[100]=1;

            try {
                //int i = 5 / 0;

                try {
                    hebele hubele;
                } catch (RuntimeException Hata) {
                    System.out.println("Saçmalanmış");
                }
            } catch (ArithmeticException Hata) {
                System.out.println("0 a bölme hatası");
            }

        } catch (ArrayIndexOutOfBoundsException e) {
            System.out.println("Dizi elemanı fazla girildi");
        }
    }
}

 

 

 

 

Yorumunuzu Ekleyin

Java Değişken Tipleri

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

57,255 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

54,574 Okunma 2 Yorum 19/11/2007 15:13:25

Javada Fonksiyonlar

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

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

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

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

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

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

J2ee, j2se, j2me Nedir?

J2ee,j2se,j2me hakkında bilgi

33,452 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

32,864 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.

28,754 Okunma 1 Yorum 14/04/2008 11:01:20

for Döngüsü

27,272 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.

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

while döngüsü

Dizilerin olmazsa olmazı

25,376 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

25,288 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

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

Yükleniyor...