06.03.2015 Views

Java Kitabı

JAva`nın çalışma mantığıyla başlayıp basitten gelişmişe iyi bir kaynak

JAva`nın çalışma mantığıyla başlayıp basitten gelişmişe iyi bir kaynak

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

}<br />

isiklariKapat(); // dikkat<br />

}<br />

}<br />

public static void main(String args[]) {<br />

Oda2 o2 = new Oda2();<br />

o.basla();<br />

}<br />

Bu uygulama örneğimizde isiklariKapat() yordamı sadece finally bloğunun içerisine yazılarak<br />

her zaman ve her koĢulda çalıĢtırılması garantili hale getirilmiĢtir. Artık herhangi bir istisna oluĢsun veya<br />

oluĢmasın ıĢıklar kesin olarak söndürülecektir. ()<br />

finally bloğunun kesin olarak çağrıldığını aĢağıdaki uygulamamızdan da görebiliriz. ()<br />

Örnek: FinallyOrnek2.java ()<br />

public class FinallyOrnek2 {<br />

}<br />

public static void main(String args[]) {<br />

try {<br />

System.out.println("1- try blogu");<br />

try {<br />

System.out.println("2- try blogu");<br />

throw new Exception();<br />

} finally {<br />

System.out.println("2- finally blogu");<br />

}<br />

} catch(Exception ex) {<br />

System.out.println("1- catch blogu");<br />

} finally {<br />

System.out.println("1- finally blogu");<br />

}<br />

}<br />

Bu örneğimizde dip taraftaki try bloğunun içerisinde bir istisna oluĢturulmuĢtur. Dip taraftaki try<br />

bloğunun catch mekanizması olmadığı için bu oluĢan istisna dıĢ taraftaki catch mekanizması tarafından<br />

yakalanacaktır. Fakat bu yakalanma iĢleminin hemen öncesinde dipte bulunan finally bloğunun<br />

içerisindeki kodlar çalıĢtırılacaktır. Uygulamanın çıktısı aĢağıdaki gibidir. ()<br />

1- try blogu<br />

2- try blogu<br />

2- finally blogu<br />

1- catch blogu<br />

1- finally blogu<br />

8.1.8.1. return ve finally Bloğu<br />

finally bloğu her zaman çalıĢtırılır. Örneğin bir yordam hiçbir Ģey döndürmüyorsa (void) ama bu<br />

yordamın içerisinde yordamı sessizce terk etmek amacı ile return ifadesi kullanılmıĢ ise, finally<br />

bloğu içerisindeki kodlar bu return ifadesi devreye girmeden hemen önce çalıĢtırılır. Uygulama üzerinde<br />

gösterilirse. ()<br />

233

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!