Selam.Yazdigim kodda ArithmeticException yerine Exception yazdikda calisiyorsa niycin ArithmeticException yaziliyor?`

package elave;
  public class Elaveler {
    public static void main(String[] args) {
        System.out.println("basladi");
       int a = 4;
       int b = 0;
       try{int c = a/b;
        System.out.println(c);
       }
       catch(ArithmeticException e){
           System.out.println("mexreci 0 girmiyin  "+e);
       }
        System.out.println("bitti");
    }

  }

soruldu: 10 Tem '12, 18:49

mehmanbashirov's gravatar image

mehmanbashirov
211253138
cevap kabul oranı: 16%

değiştirildi: 11 Tem '12, 05:15

mabulgu's gravatar image

mabulgu ♦
2.8k43040


örnekteki kod basit olduğu için saçma gelebilir, ancak direk Exception yazıldığı taktirde yakalanan istisna herhangi bir nedenle fırlatılmış olabilir olacaktır ve istisnanın aritmetik bir sorundan mı kaynaklandığı bilinmeyecektir. Bu durumda kullanıcıya nasıl bir tepki verileceği yada programın arkaplanda neler yapacağı aritmetik hataya göre değil genel hatalara göre yapılacaktır.

Daha karmaşık kodlarda try içinde kalan alanda birden fazla türde istisna yakalanacaktır. Tüm exceptionlara tepki veren bir catch bloğu yerine, her exceptiona ayrı tepki veren birden fazla catch bloğu yazmak iyi bir alışkanlıktır.

permanent link

cevaplandı: 10 Tem '12, 19:52

baran's gravatar image

baran
2.1k81939
cevap kabul oranı: 30%

Diğer bir neden olarak, örneğin şu durum istenebilir. Yazılan fonksiyon ArithmeticException oluştuğunda bunu handle etsin, fakat IllegalArgumentException oluştuğunda hiç bir şey yapmayarak bir üst seviyeye göndersin. Eğer bu fonksiyonun catch kısmına ArithmeticException değilde Exception yazılırsa, IllegalArgumentException bir üst seviyeye gönderileceğine, catch blogunda ezilmiş olur.

permanent link

cevaplandı: 11 Tem '12, 01:46

Mesut's gravatar image

Mesut
60721017
cevap kabul oranı: 25%

değiştirildi: 11 Tem '12, 01:48

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,079

Soruldu: 10 Tem '12, 18:49

Görüntüleme: 579 kez

Son güncelleme: 11 Tem '12, 05:15

powered by BitNami OSQA