Tyl*_*ler 2 java exception try-catch
所以我给了这个代码,我必须创建一个Exception,然后用一个Try/CatchBlock来捕获它.我已经在代码的底部制作了Exception.但我以前从未使用过Try/CatchBlock,也不确定如何实现它.
例外情况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: ");
}
}
}
Run Code Online (Sandbox Code Playgroud)
你不需要那个例外.当你将Title枚举添加为传递给Staff构造函数的类型时,就不可能提供不在枚举中的值.你永远不会得到无效的头衔.这就是枚举的全部要点.
更新:一个小代码审查是这里的一个订单.