可能重复:
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发生异常,因此停止整个迭代,我希望跳过,如果发生某些异常,则不能断开循环,只是省略了异常部分并写入在文本文件上。
答案 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的答案,以了解有关异常处理的更多信息。