Java 这个代码(抛出异常)做什么?这是一种有效的方法吗?

Java 这个代码(抛出异常)做什么?这是一种有效的方法吗?,java,throw,Java,Throw,我对我的代码很好奇。我使用了一个包含类抛出异常的setter,并在测试类中使用了一个try-catch框。我不确定抛出部分是否工作良好(它工作正常吗?),或者我应该在“if”语句之前添加“throws”,我想知道我应该做些什么来提高效率。这是我的密码。谢谢你阅读我的问题 //setter of the IceCream class, and the setter includes throw exception public void setFlavor(int t){ if(//co

我对我的代码很好奇。我使用了一个包含类抛出异常的setter,并在测试类中使用了一个try-catch框。我不确定抛出部分是否工作良好(它工作正常吗?),或者我应该在“if”语句之前添加“throws”,我想知道我应该做些什么来提高效率。这是我的密码。谢谢你阅读我的问题

//setter of the IceCream class, and the setter includes throw exception 
public void setFlavor(int t){
    if(//code)
    {
    }
    else{
       throw new IllegalArgumentException(toString());
    }


//testing class
try{ 
            IceCream ice = new IceCream();
            p.setFlavor();     
        }
        catch (IllegalArgumentException ex){
            System.out.println(ex);
        }

这将对您有所帮助不调用
setFlavor(int t)
它们是不同的methods@ScaryWombat它可以(用于文档),但不是必需的。在
IllegalArgumentException
中,最好使用消息来指示非法参数是什么以及应该是什么。例如,
if(t<1 | | t>10){抛出新的IllegalArgumentException(“味道必须是一个介于1和10之间的数字,但您传递了”+t);}
。这将使调试变得更加容易。您不必担心像这样琐碎的实践代码的效率。