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.

6. Son olarak akıĢ main() yordamına geri döner ve main() yordamının içerisinde<br />

çalıĢtırılmamıĢ olan kodlar çalıĢtırılır ve ekrana "main() yordamı" basılır. ()<br />

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

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

Hata Yakalandi =java.io.FileNotFoundException: ornek.txt (The<br />

system cannot find<br />

the file specified)<br />

calis() yordamı<br />

main() yordamı<br />

Akıllara Ģöyle bir soru gelebilir, "Eğer ornek.txt dosyası gerçekten olsaydı yine de try-catch<br />

mekanizmasını yerleĢtirmek zorundamıydık". Cevap evet, az önce bahseldiği gibi ortada istisna oluĢma<br />

tehlikesi varsa bile bu tehlikenin önlemi <strong>Java</strong> programla dilinde önceden kesin olarak alınmalıdır. ()<br />

IstisnaOrnek2.java uygulamamızda, oluĢan istisna aynı yordamın içerisinde yakalanmıĢtır ve böylece<br />

uygulamanın akıĢı normal bir Ģekilde devam etmiĢtir. Peki oluĢan bu istisnayı aynı yordamın içerisinde<br />

yakalamamak gibi bir lüksümüz olabilir mi? Yani oluĢan istisna nesnesini -ki bu örneğimizde oluĢan<br />

istisnamız java.io.FileNot FoundException tipindeydi, bir üst kısma fırlatılabilir mi? Bir üst kısma<br />

fırlatmaktan kasıt edilen, istisnanın meydana geldiği yordamı çağıran yordama bu istisna nesnesini<br />

fırlatmaktır. "Peki ama niye böyle biĢeye ihtiyaç duyalım ki?" diyebilirsiniz. Bunun baĢlıca sebebi,<br />

istisnanın oluĢtuğu yordam içerisinde, o istisna nesnesi ile ne yapılabileceğinin bilenememesi olabilir. Bir<br />

üst kısımda elimizde daha fazla bilgi olabilir, ve bu bilgi çerçevesinde, elimizdeki istisna nesnesini daha<br />

güzel bir Ģekilde değerlendirip, uygulamanın akıĢını ona göre yönlendirebiliriz. ()<br />

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

import java.io.*;<br />

public class IstisnaOrnek3 {<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() {<br />

try {<br />

cokCalis();<br />

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

} catch(IOException ex) {<br />

System.out.println("Hata Yakalandi-calis() =" +<br />

ex);<br />

}<br />

}<br />

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

IstisnaOrnek3 io3 = new IstisnaOrnek3();<br />

io3.calis();<br />

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

210

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

Saved successfully!

Ooh no, something went wrong!