在定义我自己的异常时找不到符号

时间:2014-04-06 13:40:32

标签: java exception error-handling

有人可以告诉我为什么我在编译时会“找不到符号”。

这是我定义自己的例外的方式:

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());
   }

提前感谢;

1 个答案:

答案 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");