Hi all.
Im trying to learn how to make a own exceptions. I guess it's up to the structure im using etc. I have dropped from 11 errors down to 4. But now i would be pleased to get some help to get this done
import java.util.Scanner; import java.util.*; public class omaPoikkeus { public static void main(String[] args) { Scanner lukija = new Scanner(System.in); int testattavaLuku = 0; boolean syöteOk = true; do { try { System.out.print("Anna testattava luku: "); testattavaLuku = lukija.nextInt(); syöteOk = true; } catch (InputMismatchException e) { System.out.println("Et antanut kokonaislukua!"); syöteOk = false; lukija.nextLine(); } } while(!syöteOk); try { testaaArvo(testattavaLuku); System.out.println("Arvo oli välillä 5-10."); } catch(PieniPoikkeus e) { System.out.println("PieniPoikkeus siepattu!"); tulostaVirheTeksti(e); } catch(SuuriPoikkeus e) { System.out.println("SuuriPoikkeus siepattu!"); tulostaVirheTeksti(e); } } // Sinun koodi tulee tähän public static int testaaArvo(int luku) throws PieniPoikkeus, SuuriPoikkeus{ if (luku < 5) { throw new PieniPoikkeus("Luku on alle 5."); } if (luku > 10) { throw new SuuriPoikkeus("Luku on yli 10."); } return luku; } public static void tulostaVirheTeksti(String viesti) { System.out.println(viesti); } // Poikkeukset class PieniPoikkeus extends Exception{ // Konstruktori public PieniPoikkeus(String exc) { super(exc); } public String getMessage() { return super.getMessage(); } } class SuuriPoikkeus extends Exception{ // Konstruktori public SuuriPoikkeus(String exc) { super(exc); } public String getMessage() { return super.getMessage(); } } }
What is the tree where im bangin my head currently?
omaPoikkeus.java:28: error: method tulostaVirheTeksti in class omaPoikkeus cannot be applied to given types;
tulostaVirheTeksti(e);
^
required: String
found: omaPoikkeus.PieniPoikkeus
reason: actual argument omaPoikkeus.PieniPoikkeus cannot be converted to String by method invocation conversion
omaPoikkeus.java:31: error: method tulostaVirheTeksti in class omaPoikkeus cannot be applied to given types;
tulostaVirheTeksti(e);
^
required: String
found: omaPoikkeus.SuuriPoikkeus
reason: actual argument omaPoikkeus.SuuriPoikkeus cannot be converted to String by method invocation conversion
omaPoikkeus.java:38: error: non-static variable this cannot be referenced from a static context
throw new PieniPoikkeus("Luku on alle 5.");
^
omaPoikkeus.java:42: error: non-static variable this cannot be referenced from a static context
throw new SuuriPoikkeus("Luku on yli 10.");
^
4 errors
Process javac exited with code 1