Так что мне дан этот код, и мне нужно создать исключение, а затем использовать блок Try/Catch
, чтобы его поймать. Я уже сделал исключение в нижней части кода. Но я никогда раньше не использовал блок Try/Catch
и не знаю, как его реализовать.Try Catch Block в Java
Исключение: если введен ранг, который не указан в поле enum
. Мне нужно использовать toString
с пойманным исключением, но я уверен, что смогу это понять.
package pracapp4;
import java.util.Scanner;
public class Staff extends Employee
{
enum Title
{
DEPARTMENT_HEAD, DIRECTOR, DEAN, VICE_CHANCELLOR, CHANCELLOR
}
private Title title;
public Staff()
{
super();
title = Title.DEPARTMENT_HEAD;
}
public Staff(String firstName, String lastName, int salary, Title title)
{
super(firstName, lastName, salary);
this.title = title;
}
@Override
public String toString()
{
return super.toString() + "\n\tTitle: " + title;
}
@Override
public void display()
{
System.out.println("<<Staff>>" + this);
}
@Override
public void input(Scanner in)
{
super.input(in);
if (in.hasNext())
{
this.title = Enum.valueOf(Title.class, in.next());
}
}
class InvalidRankException extends Exception
{
public InvalidRankException()
{
super ("Unknown Rank Name: ");
}
}
}
- ранг, относящийся к названию enum? – Victor
Да, извините за путаницу – Tyler
'Enum.valueOf (Title.class, in.next())' должен быть записан как 'Title.valueOf (in.next())' – user102008