为什么我的这个代码没有捕捉到异常?

来源:-

被吊打的学渣

2018-02-03 15:06


Main:

package com.imooc;
public class Main {

    public static void main(String[] args){

        Book book = new Book();

        book.input();
    }

}

BookInputError:

package com.imooc;

class BookInputError extends Exception {
    BookInputError()
    {
        super();
    }
}

Book:

package com.imooc;
import java.util.Scanner;

public class Book {

    public void input () {

        String name;

        String number;

        Scanner scanner = new Scanner(System.in);

        name = scanner.nextLine();

        number = scanner.nextLine();

        try {
            for (int i = 0; i <= number.length()-1; i++) {
                if(number.charAt(i) < '0' && number.charAt(i) > '9') {
                    throw new BookInputError();
                }
            }

        } catch (BookInputError bookInputError) {
            System.out.println("input error");
        }

        System.out.println(name+number);

    }


}

输入实例:

8989
uuu

这个我觉得应该抛出异常,结果没有。

写回答 关注

1回答

  • 被吊打的学渣
    2018-02-03 16:33:37
    if(number.charAt(i) < '0' || number.charAt(i) > '9')

    逻辑关系错了?这么简单的问题我都没看出来 :(

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题