有人可以告诉我为什么我在编译时会“找不到符号”。
这是我定义自己的例外的方式:
public void setIdNumber(int i)throws InvalidEmployeeId
{
idNumber = i;
if ((idNumber <= 0))
{
throw new InvalidEmployeeId("invalid ID. Please input numeric ID");
}
}
无法找到符号:
public void setIdNumber(int i)throws InvalidEmployeeId
symbol: class InvalidEmployeeId
以下是演示程序中的try和catch语句:
try
{
id = Integer.parseInt(input);
worker.setIdNumber(id);
} catch (invalidEmployeeId e)
{
System.out.println(e.getMessage());
}
提前感谢;
答案 0 :(得分:1)
将此类添加到您的代码中:
public class InvalidEmployeeId extends Exception
{
public InvalidEmployeeId(String string)
{
super(string);
}
}
只是说新的没有为您定义Exception
。此外,您必须在使用类名时保持一致。
try
{
id = Integer.parseInt(input);
worker.setIdNumber(id);
} catch (InvalidEmployeeId e) //must be a capital I!
{
System.out.println(e.getMessage());
}
如果已定义 ivalidEmployeeId
Exception
子类,则必须更改此行:
throw new invalidEmployeeId("invalid ID. Please input numeric ID");