java类,异常,用户输入

时间:2017-10-11 03:28:07

标签: java

我有一个使用switch的驱动菜单类,旁边是一个类,该类在输入错误输入时抛出异常,如何在异常后返回并要求用户再次输入数据。

java class diamond:

public class Diamond 
{

private int x;

    public Diamond(int x) throws IllegalArgumentException 
    {
        if ((x % 2) == 0) 
        {
           System.out.println("\nx must be odd.");
           throw new IllegalArgumentException("x must be odd.");

        }
      this.x = x;

    }

1 个答案:

答案 0 :(得分:0)

请参阅this question regarding exceptions in general以及this Java Tutorial

我假设您有一些代码接受用户输入,然后创建Diamond类的实例。

您可以在try-catch块中包装创建Diamond实例的代码。

所以,像这样:

Diamond d = null;
try{
    d = new Diamond(userInput);
}catch(IllegalArgumentException e){
   //Handle the exception
}

但是,由于输入问题而不是编程问题导致抛出此异常,我倾向于倾向于在此处使用已检查的异常。

作为Java Tutorial的一般规则:

  

如果可以合理地期望客户端从异常中恢复,请将其作为已检查的异常。如果客户端无法执行任何操作以从异常中恢复,请将其设置为未经检查的异常。