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。我们必须使用这些块,这是一个来自大学服务器的练习。如果我没有使用它们,编译器会给出错误。