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 />

ste[i].getMethodName()+" - "+<br />

ste[i].getLineNumber() );<br />

}<br />

}<br />

}<br />

}<br />

Bu değiĢimden sonra getStackTrace() veya printStackTrace() gibi benzeri yordamlar artık<br />

değiĢen bu yeni yol haritasını basacaklardır. ()<br />

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

oku() yordamı cagrildi<br />

cokOku() yordamı cagrildi<br />

------------<br />

--> istisnametodlari7.java - cokOku - 6<br />

--> istisnametodlari7.java - oku - 16<br />

--> istisnametodlari7.java - main - 23<br />

Yukarıdaki örneğimizde fırlatılan istisnanın çıkıĢ noktası 9. satırda olmasına rağmen,<br />

setStackTrace() yordamı kullanarak oluĢan istisnanın yol haritasında değiĢiklik yapabildik. Artık<br />

fırlatılan istisnanın yeni çıkıĢ noktasını 6. satır olarak gösterilmektedir. ()<br />

8.1.7. Kendi İstisnalarımızı Nasıl Oluşturabiliriz?<br />

<strong>Java</strong>nın kendi içerisinde tanımlanmıĢ istisna tiplerinin dıĢında, bizlerde kendimize özgü istisna tiplerini<br />

oluĢturup kullanabiliriz. Sonuçta istisnalar da birer nesnedir ve kendilerine has durumları ve özellikleri<br />

olabilir. Ġlk istisna sınıfını oluĢturalım; ()<br />

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

public class BenimHatam extends Exception {<br />

private int id ;<br />

public BenimHatam() {<br />

}<br />

public BenimHatam(String aciklama) {<br />

super(aciklama); // dikkat<br />

}<br />

public BenimHatam(String aciklama , int id) {<br />

super(aciklama); //dikkat<br />

this.id = id ;<br />

}<br />

public String getLocalizedMessage() { // iptal etme<br />

(override)<br />

switch(id) {<br />

226

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

Saved successfully!

Ooh no, something went wrong!