public class TestFeilmelding{ public static void main(String[] args){ Konto konto = new Konto(); try{ //Bruker mer penger enn vi har leder til feilmelding konto.brukPenger(50); konto.brukPenger(100); } catch(IkkeNokPenger e){ e.printStackTrace(); System.out.println("Avslutter programmet"); System.exit(1); //Denne linjen avslutter hele programmet. //Dersom vi ikke hadde hatt denne linjen, kan vi fortstoette aa kjoere paa tross av feilmeldingen. //Forsoek gjerne aa kommentere den ut. } System.out.println("Hei jeg kjoerer fortsatt!!!"); } } class Konto{ //Starter med 100kr int kr = 100; //"throws" kaster feilmeldingen VIDERE oppover derom det forekommer. Altsaa til stedet brukPenger() ble kalt. public void brukPenger(int k) throws IkkeNokPenger{ //Dersom vi bruker mer penger enn vi har, kaster vi en feilmelding. if(kr - k < 0){ //"throw" kaster en feilmelding. Dette er altsaa hvor vi starter aa kaste. throw (new IkkeNokPenger("Ikke nok penger paa konto. Har " + kr + " forsoeker aa bruke " + k + ".")); } kr = kr - k; } public int hentSaldo(){ return kr; } } //Egen feilmelding som utvider Exception. class IkkeNokPenger extends Exception{ //"e" er tekst vi vil skrive ut naar feilmeldingen skjer. public IkkeNokPenger(String e){ super(e); } } /* Klassen og konstruktoeren til Scanner slik den kanskje kan se ut. Linje 58 og 59 er hentet fra dokumentasjonen. class Scanner{ public Scanner(File source) throws FileNotFoundException{ kode kode kode if(noe greier){ throw new FileNotFoundException(); } } } */