我從定製的日誌中獲取此異常:爲什麼我的代碼拋出NumberFormatException?
java.lang.NumberFormatException: Invalid int: "12px"
at java.lang.Integer.invalidInt(Integer.java:137)
at java.lang.Integer.parse(Integer.java:374)
at java.lang.Integer.parseInt(Integer.java:365)
at java.lang.Integer.parseInt(Integer.java:331)
後來我查了相關的代碼,但我不明白爲什麼這發生異常:
String fontSize = styles.getStyle("font-size");
if (fontSize.endsWith("px")) {
fontSize = fontSize.substring(0, fontSize.length() -2);
}
setWeight(Integer.parseInt(fontSize));
謝謝!
這是我的解決辦法:
try {
setWeight(Integer.parseInt(fontSize));
} catch (NumberFormatException e) {
setWeight(12);
}
只要運行調試器,看看它似乎會發生什麼 –
你的子方法不能正常工作,作爲「一把手」有「PX」結尾。 –
你的條件是錯誤的,所以你的字符串沒有得到重新初始化。您試圖將包含字母(px)的字符串解析爲整數。查看代碼的最後一行。 –