Throw & Throws – JAVA

Selamlar,

 Bu yazımda Java’da  throw ve throws kavramlarını aktarmaya çalışacağım.

Throw Kavramı

Java throw anahtar kelimesi, bir istisnayı açıkça atamak için kullanılır . Genel kullanım yapısı throw exception; şeklindedir.Örnek olarak ;

throw new ArithmeticException("/ by zero");
throw new IOException("aygıt hatası");

Yukarıdaki örneklerde new anahtar kelimesi hata nesnesi oluşturmak için kullanılır. Programın yürütme akışı, throw ifadesi yürütüldükten hemen sonra durur ve istisna tipine uyan bir catch ifadesi olup olmadığını görmek için en yakın ek try bloğu kontrol edilir . Eğer bir try cath ifadesi bulamaz ise programı durduracaktır.

ÖRNEK CODE:

public class TestThrow{ 
static void deneme(int yas){ 
if(yas>18) 
throw new ArithmeticException("Geçerli değil"); 
else 
System.out.println("Selam"); 
  } 
public static void main(String args[]){ 
deneme(19); 
System.out.println("blaa blaa blaa"); 
 } 
}

Throws Kavramı

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. 

Genel  Throws Kavramının  Kullanımı:

tip metot_adi (parametreler) throws istisna_listesi {//İçerik}

ÖRNEK KOD:

class ThrowsTest{
static void deneme() throws IllegalAccessException{
System.out.println("Denemenin içerisi");
throw new IllegalAccessException("Test 1 , 2");
}
public static void main(String args[]){
try{
deneme();
}catch(IllegalAccessException e){
System.out.println("Yakalanan " + e);
}

}
}

Özet olarak:

Throw try cath blokları içinde hata fırlatmak için kullanılır throws ise metod içinde oluşabilecek hataları barındırır.