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.

dikkat<br />

}<br />

new IOException() ); //<br />

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

try {<br />

IstisnaMetodlari2 im2 = new IstisnaMetodlari2();<br />

im2.oku();<br />

} catch (Exception ex) {<br />

System.out.println("Hata-ex.getCause():" +<br />

ex.getCause());<br />

}<br />

}<br />

}<br />

Bu örnek için java.io.IOException kullanıldığı için import java.io.* denilmeliydi. Bu kısa<br />

açıklamadan sonra detayları vermeye baĢlayalım. ()<br />

getCause() yordamın iĢe yaraması için, istisna sınıfına ait yapılandırıcının içerisine bu istisnaya<br />

sebebiyet vermiĢ olan istisna tipini yerleĢtirmemiz gerekmektedir. Tekrardan belirtelim bu yordam<br />

Throwable nesnesine bağlı bir referans geri döndürür. ()<br />

Gösterim-8.8:<br />

throw new Exception("istisna firlatildi",new<br />

IOException()); // dikkat<br />

Böyle bir ifade nerede iĢimize yarar ki diyebilirsiniz. Bu olay aslında aynı anda iki tip istisna<br />

fırlatabilmenize olanak tanır ve bu çoğu yerde iĢinize yarayabilir. Eğer istisnanın oluĢtuğu yerde alt istisna<br />

nesnesi belirtilmemiĢ ise - throw new Exception ("istisna firlatildi") gibigetCause()<br />

yordamı "null" dönecektir. ()<br />

Uygulamanın çıktısı aĢağıdaki gibi olur.<br />

Hata- ex.getCause() : java.io.IOException<br />

Throwable initCause (Throwable cause)<br />

<strong>Java</strong> 1.4 ile gelen bir baĢka yenilik ise initCause() yordamıdır. Bu yordam iki istisna tipini<br />

birleĢtirmeye yarar. ()<br />

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

import java.io.*;<br />

public class IstisnaMetodlari3 {<br />

public void oku() throws Throwable {<br />

Exception ioEx = new IOException(); // dikkat<br />

Exception fnfEx = new FileNotFoundException(); //<br />

dikkat<br />

Throwable th = ioEx.initCause(fnfEx);<br />

throw th;<br />

221

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

Saved successfully!

Ooh no, something went wrong!