try-catch捕捉异常程序执行

来源:1-1 综合案例需求

hor5

2022-08-02 14:56:52

问题描述:

老师,您好!我想问一下如图程序,有没有什么可行的方法使得try-catch捕捉到异常后优先执行重新输入再执行后面关于sum的语句?

https://img.mukewang.com/climg/62e8caaf09c4840f08800435.jpg

写回答

2回答

好帮手慕小黑

2022-08-02

同学你好,可以用while语句将try--catch异常包裹,修改后代码如下所示:

int k=0;
Scanner myScanner = new Scanner(System.in);
do {
    while (true) {
        try {
            k = myScanner.nextInt();
            break;
        } catch (InputMismatchException e) {
            System.out.println("error");
            myScanner.next();
            continue;
        }
    }
        int sum = 0;
        System.out.println(sum);
}while (true) ;

祝学习愉快!

0
hor5
hp>嗯嗯,我已经解决了,方法和老师的一样,谢谢!

h022-08-02
共1条回复

hor5

提问者

2022-08-02

目前可以考虑把 异常处理try-catch单独写在一个方法里,然后把 try-catch 嵌套在while(true) 里重复调用输入判断直至满足数字类型再返回到主方法结束循环。

0

0 学习 · 9886 问题

查看课程