Java: omat poikkeukset

Aiemmin esittämieni try-catch-finally ja throws käsittelyiden lisäksi, voi standardipoikkeusluokkien rinnalle luoda oman mukautetun poikkeusluokan. Oman poikkeusluokan on aina periydyttävä Exception-luokasta.

Oma poikkeus aiheutetaan throws-lauseella, jolla metodin suorituksen voi katkaista. Tässä tilanteessa metodin suoritus katkaistaan heti ja ohjelma siirtyy kutsuneelle metodille.

// Oma poikkeusluokka
public class EiOnnistu extends Exception{
	private String viesti;

	public EiOnnistu(String s){
		viesti = s;
	}
	
	public String toString(){
		return viesti;
	}
}

Omaa poikkeusta voi käyttää esimerkiksi seuraavanlaisesti

public static int str2Int(String s) throws EiOnnistu{
	int i = 0;
	try{
		i = Integer.parseInt(s);
	}
	// Voisimme myös hakea pelkkää Exceptionia
	catch (NumberFormatException e){
		throw new EiOnnistu("Poikkeus str2Int: Ei voi muuntaa '" + s + "' kokonaisluvuksi");
	}
	return i;
}

Oheisessa Eclipse projektissa on malliksi oma poikkeus luokka ja pari esimerkkiä sen käytöstä. OmaPoikkeus.zip

Advertisements

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out / Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out / Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out / Muuta )

Google+ photo

Olet kommentoimassa Google+ -tilin nimissä. Log Out / Muuta )

Muodostetaan yhteyttä palveluun %s