Посмотрите на документацию, которую вы написали сами:
/**
* @throws StupidNameException when name is "Jason" or "Harrisson"
*/
public Student(String firstName, String lastName, String ultimateGoal, double GPA) {
// ...
Где throws StupidNameException
? Об этом интересуется компилятор Java.
Исправьте это соответственно:
/**
* @throws StupidNameException when name is "Jason" or "Harrisson"
*/
public Student(String firstName, String lastName, String ultimateGoal, double GPA) throws StupidNameException {
// ...
Это необходимо, потому что вы вызываете super(firstName,lastName)
, который сам по себе выдает это исключение. Он должен быть либо пойман в try-catch
, либо, лучше, пройден через throws
.