使用try / catch打破无限循环

时间:2013-06-03 21:44:11

标签: java try-catch infinite-loop

我刚刚解决了一个有趣的小练习问题,基本归结为:

int [] array = new int [10];
int i = 0;
try{
  while (true){

     array[i++] = 10;

  }
}
catch(ArrayIndexOutOfBoundsException e){ 
   for(i = 0; i < 10; i++){
      System.out.println(array[i]);
   }
}

这有多邪恶?转到邪恶?很多全球变量邪恶?或者这完全没问题?

2 个答案:

答案 0 :(得分:2)

异常处理在性能方面非常昂贵(并且在内存方面有些昂贵)。作为一般规则,您应该始终更喜欢其他技术。

答案 1 :(得分:0)

以下是一些可行的方法,无需尝试捕获:

首先

int [] array = new int [10];  
int i = 0;  

while(i<10){  
  array[i]=(i+1);  
  System.out.println(array[i]);  
  i++;
}  

第二

int [] array = new int [10];

for(int i=0; i<array.length; i++){
  array[i]=(i+1);
  System.out.println(array[i]);
}

我的意思是,如果没有必要使用try catch,请不要! 尝试catch只能防止用户错误(通常在我的程序中),或者除非程序要求你使用它。