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.

IOException tipi ile catch bloğunda yakalanabilir ama bunun tam tersi olanaksızdır. Daha ilginç bir örnek<br />

verelim. ()<br />

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

import java.io.*;<br />

class E {<br />

public void basla() throws IOException {<br />

//...<br />

}<br />

}<br />

public class EF extends E {<br />

public void basla() {<br />

//...<br />

}<br />

}<br />

Ġptal edilen yordam IOException tipinde bir istisna fırlatmasına karĢın, iptal eden yordamın hiç bir istisna<br />

fırlatmama lüksü vardır. Ġptal eden yordamın hiç bir istisna fırlatmaması bir soruna yol açmaz. Niye iptal<br />

edilen yordamın daha kapsamlı bir istisna fırlatması gerekir? Bu sorunun cevabını daha kapsamlı bir örnek<br />

üzerinde inceleyelim. ()<br />

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

import java.io.*;<br />

class Calisan {<br />

public void calis(int deger) throws IOException {<br />

System.out.println("Calisan calisiyor "+ deger);<br />

}<br />

}<br />

public class Sekreter extends Calisan {<br />

public void calis(int deger) throws<br />

FileNotFoundException,<br />

EOFException {<br />

System.out.println("Calisan calisiyor "+ deger);<br />

if(deger == 0) {<br />

throw new FileNotFoundException("Dosyayi<br />

bulamadim");<br />

} else if(deger == 1) {<br />

throw new EOFException("Dosyanin sonuna<br />

geldim");<br />

}<br />

}<br />

public static void basla(Calisan c, int deger) {<br />

try {<br />

c.calis(deger);<br />

} catch (IOException ex) {<br />

System.out.println("Istisna olustu: "+ ex);<br />

}<br />

}<br />

244

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

Saved successfully!

Ooh no, something went wrong!