捕获非数字字符的异常

时间:2016-11-20 22:10:07

标签: java string exception exception-handling

我正在尝试将字符串转换为其数字值,并将每个字符转换为它。问题是,如果字符串有字母或空格(基本上除了数字之外的任何东西),我想抛出异常。但它不抛出异常并继续将任何字符串转换为其数字格式。我在这里缺少什么?

编辑:我无法使用库函数进行转换

for (int i = str.length() - 1; i >= var; i--) {
                if (str.charAt(i) >= '0' && str.charAt(0) <= '9') {
                    sum += (str.charAt(i) - '0') * Math.pow(10, power);
                    power++;
                } else {
                    throw new Exception();
                }
            }

2 个答案:

答案 0 :(得分:2)

你的if语句中有拼写错误

if (str.charAt(i) >= '0' && str.charAt(0) <= '9') {

应该是

if (str.charAt(i) >= '0' && str.charAt(i) <= '9') {

答案 1 :(得分:0)

尚未评论,所以写在这里。

你可能不想要str.charAt(0)&lt; =&#39; 9&#39;

还要考虑处理&#39; - &#39;负数