Java 当输入不是int时,如何使用异常处理抛出异常;在爪哇?

Java 当输入不是int时,如何使用异常处理抛出异常;在爪哇?,java,exception,integer,illegalargumentexception,Java,Exception,Integer,Illegalargumentexception,以下是我迄今为止所做的工作: public static int stringToInt(String str) throws IllegalArgumentException { int number = 0; try{ number = Integer.parseInt(str); }catch (NumberFormatException e){ System.out.println("Invalid Integer");

以下是我迄今为止所做的工作:

 public static int stringToInt(String str) throws IllegalArgumentException {
    int number = 0;


    try{
        number = Integer.parseInt(str);

    }catch (NumberFormatException e){
        System.out.println("Invalid Integer");
        //throw new IllegalArgumentException();
    }catch (IllegalArgumentException e){
        System.out.println("Invalid Integer");
    }//finally{
      return number;    
    //}

 }

如果字符串不是整数而不返回[null]之类的参数,我如何抛出异常?

谢谢大家,这就是解决方案:

public static int stringToInt(String str) throws IllegalArgumentException {
int number = 0;
try{
    number = Integer.parseInt(str);
    return number;  
}catch (NumberFormatException e){
    throw new IllegalArgumentException("Invalid integer");
}}

我现在正在学习异常处理,并认为我了解得更多一些。:'D

不要捕获IllegalArgumentException--从NumberFormatException捕获块中抛出它删除try块和catch块。如果字符串不表示整数,则Integer.parseInt()已引发异常。我同意JB Nizet的观点,我强烈反对在大多数情况下捕捉运行时异常,这正是@JBNizet所说的。你可以捕捉并重新播放NFE。我们必须使用这些块,这是一个来自大学服务器的练习。如果我没有使用它们,编译器会给出错误。