Skip to content
Snippets Groups Projects
Commit 00da0cdb authored by Iina Siekkinen's avatar Iina Siekkinen
Browse files

laajennus

parent f8952291
No related branches found
No related tags found
No related merge requests found
Pipeline #76633 passed
package fi.utu.tech.ooj.exercise2;
public class InvalidStudentDataException extends Exception {
public InvalidStudentDataException(String message) {
super(message);
}
}
...@@ -49,21 +49,20 @@ public class VuosiKurssi { ...@@ -49,21 +49,20 @@ public class VuosiKurssi {
* Loppuehto: * Loppuehto:
* - Luokkainvariantti säilyy. * - 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 // Ensimmäinen vaihe: yritetään luoda uusi opiskelija
Opiskelija uusiOpiskelija; Opiskelija uusiOpiskelija;
try { try {
uusiOpiskelija = new Opiskelija(etunimi, sukunimi, opiskelijaNumero, syntymavuosi); uusiOpiskelija = new Opiskelija(etunimi, sukunimi, opiskelijaNumero, syntymavuosi);
} catch (IllegalArgumentException e) { } catch (IllegalArgumentException e) {
System.out.println("Opiskelijan luominen epäonnistui: " + e.getMessage()); throw new InvalidStudentDataException("Opiskelijan luominen epäonnistui: " + e.getMessage());
return; // Lopetetaan metodi, jos opiskelijan luominen epäonnistui
} }
// Toinen vaihe: yritetään lisätä opiskelija vuosikurssille // Toinen vaihe: yritetään lisätä opiskelija vuosikurssille
try { try {
lisaaOpiskelija(uusiOpiskelija); lisaaOpiskelija(uusiOpiskelija);
} catch (IllegalArgumentException e) { } catch (IllegalArgumentException e) {
System.out.println("Opiskelijan lisääminen epäonnistui: " + e.getMessage()); throw new InvalidStudentDataException("Opiskelijan lisääminen epäonnistui: " + e.getMessage());
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment