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.

1. Öncelikle akıĢ, main() yordamının içerisinden baĢlar. Bu uygulamamızda main()<br />

yordamının içerisinden calis() yordamı çağrılmıĢtır. ()<br />

2. calis() yordamının içerisinden cokCalis() yordamı çağrılmıĢtır. ()<br />

3. cokCalis() yordamının içerisinde istisna oluĢmuĢtur çünkü uygulamamızın yer aldığı dizinin<br />

içerisinde ornek.txt dosyası aranmıĢ ve bulunamamıĢtır. ġimdi kritik an geldi, cokCalis()<br />

yordamının içerisinde try-catch mekanizması var mı? ()<br />

4. cokCalis() yordamının içerisinde oluĢan istisnayı yakalama mekanizması yoktur (trycatch)<br />

ama java.io.IOException tipinde bir hata nesnesi fırlatacağını "throws<br />

IOException" diyerek belirtmiĢtir. Ġstisna oluĢmuĢ ve istisna nesnesi (java.io.IOException) bir<br />

üst bölüme yani calis() yordamına fırlatılmıĢtır. ()<br />

5. Artık istisna nesnemiz calis() yordamının içerisindedir, Ģimdi sorulması gereken soru "<br />

calis() yordamının içerisinde hata yakalama mekanizması var mıdır? " ()<br />

6. Cevap hayırdır. calis() yordamı da oluĢan istisna nesnesini bir üst bölüme yani kendisini<br />

çağıran main() yordamına fırlatmıĢtır. ()<br />

7. Ġstina nesnemiz main() yordamının içerisine geldi. Sorulması gereken soru " main()<br />

yordamının içerisinde hata yakalama mekanizması var mıdır? " ()<br />

8. Cevap evettir. Böylece akıĢ main() yordamının içerisindeki catch bloğuna dallanır ve catch<br />

bloğunun içerisindeki kod çalıĢtırılır.<br />

9. Ve uygulamamız normal bir Ģekilde sona erer. ()<br />

Uygulamanın toplu olarak çıktısı aĢağıdaki gibidir.<br />

Hata Yakalandi-main() =java.io.FileNotFoundException: ornek.txt<br />

(The system cann<br />

ot find the file specified)<br />

OluĢan bir istisna nesnesini catch bloğunda yakalamanın ne gibi avantajları olabilir? Bu sorunun cevabına<br />

değinmeden evvel olaylara eğer istisna nesnesi main() yordamında yakalanmasaydı neler olacağını<br />

inceleyerek baĢlayalım. ()<br />

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

import java.io.*;<br />

public class IstisnaOrnek5 {<br />

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

File f = new File("ornek.txt");<br />

BufferedReader bf = new BufferedReader( new<br />

FileReader(f));<br />

System.out.println(bf.readLine());<br />

}<br />

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

cokCalis();<br />

System.out.println("calis() yordamı");<br />

}<br />

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

IOException {<br />

IstisnaOrnek5 io5 = new IstisnaOrnek5();<br />

io5.calis();<br />

System.out.println("main() yordamı");<br />

214

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

Saved successfully!

Ooh no, something went wrong!