diff --git a/src/main/java/fi/utu/tech/ooj/exercise2/InvalidStudentDataException.java b/src/main/java/fi/utu/tech/ooj/exercise2/InvalidStudentDataException.java new file mode 100644 index 0000000000000000000000000000000000000000..3a406b7ec4ea1e7f959f98a322b921ef082fac2c --- /dev/null +++ b/src/main/java/fi/utu/tech/ooj/exercise2/InvalidStudentDataException.java @@ -0,0 +1,7 @@ +package fi.utu.tech.ooj.exercise2; + +public class InvalidStudentDataException extends Exception { + public InvalidStudentDataException(String message) { + super(message); + } +} diff --git a/src/main/java/fi/utu/tech/ooj/exercise2/VuosiKurssi.java b/src/main/java/fi/utu/tech/ooj/exercise2/VuosiKurssi.java index 667a69a5a55753b6084640be2bea2fe603ff04e2..236b7350d9dd11675713d46df8aac55bc7d1e1fc 100644 --- a/src/main/java/fi/utu/tech/ooj/exercise2/VuosiKurssi.java +++ b/src/main/java/fi/utu/tech/ooj/exercise2/VuosiKurssi.java @@ -49,21 +49,20 @@ public class VuosiKurssi { * Loppuehto: * - Luokkainvariantti säilyy. */ - public void lisaaOpiskelijaTurvallisesti(String etunimi, String sukunimi, String opiskelijaNumero, int syntymavuosi) { + public void lisaaOpiskelijaTurvallisesti(String etunimi, String sukunimi, String opiskelijaNumero, int syntymavuosi) throws InvalidStudentDataException { // Ensimmäinen vaihe: yritetään luoda uusi opiskelija Opiskelija uusiOpiskelija; try { uusiOpiskelija = new Opiskelija(etunimi, sukunimi, opiskelijaNumero, syntymavuosi); } catch (IllegalArgumentException e) { - System.out.println("Opiskelijan luominen epäonnistui: " + e.getMessage()); - return; // Lopetetaan metodi, jos opiskelijan luominen epäonnistui + throw new InvalidStudentDataException("Opiskelijan luominen epäonnistui: " + e.getMessage()); } // Toinen vaihe: yritetään lisätä opiskelija vuosikurssille try { lisaaOpiskelija(uusiOpiskelija); } catch (IllegalArgumentException e) { - System.out.println("Opiskelijan lisääminen epäonnistui: " + e.getMessage()); + throw new InvalidStudentDataException("Opiskelijan lisääminen epäonnistui: " + e.getMessage()); } }