异常处理,创建日志并在JAVA发生异常后继续执行程序

时间:2012-05-11 08:16:04

标签: java exception

  

可能重复:
  exception handeling, creating log and continue the program in JAVA

我正在JAVA中设计一个程序,在大约10次迭代中捕获结果,之后我必须将所有结果写入日志文件中,我需要一个解决方案,如果发生任何异常,那么它应该写在我的文本上文件,其次程序不能停止,它必须继续,直到最后一次迭代完成...即如果在任何迭代的任何部分发生某些错误,它必须在我的结果中提到错误的名称和程序必须不要停在这里,它必须继续并更新我的日志文件

仅举例说明:因为我的班级大约1800行不能在这里粘贴。

float j,i,t;
int []a={1,2,0,3,4,5};
int []b={6,6,9,3,4,5};
for(int i=0;i<6;i++)
{
   j=2/a[i];
   i=3/b[i];
   t=4/b[i];

 }

所以这里由于arrray值列表中的0发生异常,因此停止整个迭代,我希望跳过,如果发生某些异常,则不能断开循环,只是省略了异常部分并写入在文本文件上。

2 个答案:

答案 0 :(得分:1)

试试这个:

float j;
int []a={1,2,0,3,4,5};
for(int i=0;i<6;i++)
{
    try{
        j=2/a[i];
    catch(Exception e){ //a more specific exception would be preferable, but I don't know what other exceptions may occur here
        System.out.println("Exception occurred at iteration: "+i);
    }
}

编辑:刚刚意识到,如果数组太小,拥有print语句中的值也可能会导致异常。

第二次编辑:异常处理不如简单检查那样有效,即if(a[i] == 0),因此使用检查将是一种更有效的方法。

答案 1 :(得分:0)

我认为您应该阅读this question的答案,以了解有关异常处理的更多信息。