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.