java try-catch以及循环的问题
来源:互联网 发布:淘宝女装尺码表模板 编辑:程序博客网 时间:2024/06/06 07:13
今天java基础课上碰到一个比较有意思的try-catch异常的问题,钻研了好久,分享出来大家讨论。
废话不多说,先上一段代码。
- public class Demo3 {
- public static void main(String[] args) {
- int a = 0;
- int b = 0;
- int c = 0;
- boolean temp = true;
- Scanner sc = new Scanner(System.in);
- while (temp) {
- System.out.println("输入整数a和b");
- try {
- a = sc.nextInt();
- b = sc.nextInt();
- c = a + b;
- System.out.println("结果c=" + c);
- } catch (InputMismatchException ix) {
- System.out.println("输入错误,请输入整数");
- }
- }
- }
- }
然后我研究了好一会,用eclipse的dbug功能做了测试,发现当出现异常时,反转回来在try语句上一闪而过,直接就执行了catch语句,并没有像我们想象的那样,等待下一个输入。
倒腾半天终于算是倒腾对了,只是做了一个小的微调,附上代码:
- public class Demo3 {
- public static void main(String[] args) {
- int a = 0;
- int b = 0;
- int c = 0;
- boolean temp = true;
- while (temp) {
- Scanner sc = new Scanner(System.in);
- System.out.println("输入整数a和b");
- try {
- a = sc.nextInt();
- b = sc.nextInt();
- c = a + b;
- System.out.println("结果c=" + c);
- } catch (InputMismatchException ix) {
- System.out.println("输入错误,请输入整数");
- }
- }
- }
- }
运行效果图:
自己又做了几个实验对try-catch有了进一步了解。
1、try-catch放在循环里面,诺出现异常,执行完异常在次执行语句时,若没有重新进行变量的定义,try语句仍然判断上一次的输入,即在此出现异常,如此往复。(个人理解,还望大神指教)。
2、try-catch语句放在循环外面,出现异常会终止循环。
3、finally一定会执行,可用来跳出循环。
总结:
出现这种无限循环的问题有可能在不经意间,所以用循环的时候拿捏不准尽量不要使用异常,或者进行重点测试。
发表者:侯纪祥
0 0
- java try-catch以及循环的问题
- java try-catch以及循环的问题
- try-catch死循环的问题
- java中try-catch的性能问题
- java中的异常处理 try-catch 以及try-catch-finally
- try--catch语句的catch问题
- try......catch......finally的问题
- try-catch-finally的问题
- C++ try catch的问题
- while循环下try.....catch的运用
- 关于java的try-catch
- Java try . catch 的使用
- java中try{}catch{}和finally{}的执行顺序问题
- java中try{}catch{}和finally{}的执行顺序问题
- java中try{}catch{}和finally{}的执行顺序问题
- try catch 以及return 的使用
- try catch 以及 throw 的用法
- try-catch以及try-catch-finally
- 线性表【项目4 线性表-- 顺序表应用】之一
- hashCode()方法对于HashSet是不是十分重要
- C语言教程(C程序设计第三版)——清华大学
- Android studio如何使用SVN进行版本控制?
- myeclipse中,项目上有个叉报错,文件没有错误【解决方案】
- java try-catch以及循环的问题
- Mysql 基础数据类型(无时间相关类型)
- 当你在内核源码路径里敲下make 时会发生什么。
- 高并发的epoll+线程池,业务在线程池内
- HTML&CSS Learning Notes 3
- saltstack--job
- 第三周--顺序表的基本运算2
- iOS 通过GCDAsyncSocket建立tcp链接
- MySql安装及配置