如何防止 java.lang.NumberFormatException:对于输入字符串:“N/A"?
在运行我的代码时,我得到一个 NumberFormatException
:
While running my code I am getting a NumberFormatException
:
java.lang.NumberFormatException: For input string: "N/A"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.valueOf(Unknown Source)
at java.util.TreeMap.compare(Unknown Source)
at java.util.TreeMap.put(Unknown Source)
at java.util.TreeSet.add(Unknown Source)`
如何防止此异常发生?
推荐答案
"N/A"
不是整数.如果您尝试将其解析为整数,它必须抛出 NumberFormatException
.
"N/A"
is not an integer. It must throw NumberFormatException
if you try to parse it to an integer.
解析前检查或正确处理Exception
.
Check before parsing or handle Exception
properly.
异常处理
try{
int i = Integer.parseInt(input);
} catch(NumberFormatException ex){ // handle your exception
...
}
或 - 整数模式匹配 -
String input=...;
String pattern ="-?\d+";
if(input.matches("-?\d+")){ // any positive or negetive integer or not!
...
}
相关文章