方法在返回值之前终止如何处理这个异常?

时间:2016-05-24 10:00:11

标签: java exception-handling

根据以下程序,我想根据每个标签做一些操作;来自标签列表。

File1.java基于function1()返回值以及来自function2()返回值的File2.java和来自function3()返回值的File3.java执行。

例如:

标签列表有5个标签**。解析时

Label1 - 成功

Label2 - 成功

Label3 - 在File4.java中的function3()失败,执行停止。

Label4和5未执行。

我的问题是File4.java,function3()在返回由于某些问题而终止的值之前。我希望在标签3崩溃后继续执行Label4和5。

我想知道如何在File1.java中处理这个问题,请帮助我是否有任何异常方法**或者给我一些其他方法或想法来解决这个问题。

提前谢谢

File1.java

File2 file2 = new File2();    
for(String label: listOfLabels) {
    var1 = file2.function1(label);
    statements;
}

File2.java

File3 file3 = new File3();
Public int function1(LabelType label){
    var2 = file3.function2();
    statements;
    return var2;
}

File3.java

File4 file4 = new File4();
Public int function2(){
    var3 =  file4.function3();
    statements;
    Return var3;
}

File4.java

Public int function3(){
    Statements;
    //Before return a value execution terminated, because of some label values
    return value;
}

1 个答案:

答案 0 :(得分:0)

您可以尝试在File1.java中捕获循环中的异常,如下所示:

for(String label: listOfLabels) {
    try {    
        var1 = file2.function1(label);
        statements;
    }
    catch (Exception e)
    {
        System.out.println("Error encountered for: " + label);  
    }
}