问答详情
源自:1-2 Java中使用try..catch..finally实现异常处理

打了个简单的处理异常,出现了点疑惑,求帮助!

http://img.mukewang.com/577a627e0001290607240285.jpg 

package One;
import java.util.Scanner;
public class Thorwable {
 public static void main(String[] args){
  int num = 0;
  Scanner input=new Scanner(System.in);
  try{
   System.out.println("输入一个整数来测试异常: ");
    num=input.nextInt();
  }catch(Exception a){
   System.out.println("请输入一个整数!");
    num = input.nextInt();
  }finally{
   System.out.println("整数为: "+num);
  }
  
 }

}



为什么检测到异常后不能再次输入?

提问者:qq_我是你鸿飞哥啊_03359383 2016-07-04 21:17

个回答

  • qq_只为你_4
    2016-07-08 14:36:14
    已采纳

    import java.util.Scanner;

    public class dd {

     public static void main(String[] args){

      int num = 0;

      Scanner input=new Scanner(System.in);

      try{

       System.out.println("输入一个整数来测试异常: ");

       num=input.nextInt();

      }catch(Exception a){

       Scanner b=new Scanner(System.in);

       System.out.println("请输入一个整数!");

        num = b.nextInt();

      }finally{

       System.out.println("整数为: "+num);

      }

      

     }

    }


  • 蒲杰
    2016-08-05 10:44:13

    为什么你的catch(Excepetion a)中Exception后面是a呢?

  • qq_只为你_4
    2016-07-08 14:37:24

    你的提示输入就一个,所以执行一次后就没办法执行输入了

  • ttyUSB0
    2016-07-04 21:28:37

    nextInt()就读一次不会读取下面的内容,改成next()即可。