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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

}<br />

}<br />

Bu uygulamada dikkat edilmesi gereken yer hesapla() yordamıdır. for döngüsü<br />

–1‘den 0 'a kadar ilerlemektedir, ilerleyen bu değerler a() yordamına parametre olarak gönderilmektedir.<br />

a() yordamının içerisinde ise gelen parametrenin değeri kontrol edilip eğer bu değer 0 dan küçükse<br />

SeninHatan istisnası fırlatılmaktadır. Buradaki amaç bir istisnalı birde istisnasız koĢulu yakalayarak; her<br />

koĢulda finally bloğuna girildiğini ispatlamaktır. Uygulamanın çıktısı aĢağıdaki gibidir. ()<br />

a() cagriliyor<br />

SeninHatan olustu: SeninHatan<br />

finally blogu calistirildi<br />

a() cagriliyor<br />

finally blogu calistirildi<br />

Ayrıca finally bloğunun daha bir çok faydası bulunur. Örneğin birĢey aramak için geceleyin bir odaya<br />

girdiğinizde ilk olarak ne yaparsanız? Genelleme yaparak ıĢığı yakarsanız diyelim. Aynı Ģekilde odanın<br />

içerisinde arama iĢlemi bittiğinde ve odaya terk edeceğiniz zaman ne yaparsanız? Açık olan ıĢığı<br />

kapatırsınız değil mi? Sonuçta odadan çıkarken ıĢığın kapatılması gerekir bunun her zaman olması gereken<br />

bir davranıĢ olarak kabul edip aĢağıdaki uygulamayı inceleyelim. ()<br />

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

class BeklenmeyenHata1 extends Exception {<br />

public BeklenmeyenHata1(String ekAciklama) {<br />

super(ekAciklama);<br />

}<br />

}<br />

class BeklenmeyenHata2 extends Exception {<br />

public BeklenmeyenHata2(String ekAciklama) {<br />

super(ekAciklama);<br />

}<br />

}<br />

public class Oda {<br />

public void isiklariKapat() {<br />

System.out.println("isiklar kapatildi");<br />

}<br />

public void isiklariAc() {<br />

System.out.println("isiklar acildi");<br />

}<br />

public void aramaYap() throws BeklenmeyenHata1,<br />

BeklenmeyenHata2 {<br />

// istisna firlatabilecek olan govde<br />

//...<br />

}<br />

public void basla() {<br />

try {<br />

// riskli kod<br />

isiklariAc();<br />

aramaYap();<br />

231

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

Saved successfully!

Ooh no, something went wrong!