我的方法返回ArrayList时如何返回一个字符串?

时间:2013-12-15 05:00:12

标签: java arraylist return-value

我有一个返回ArrayList类型的方法但我有一个try / throw / catch块来执行异常处理。如果失败,我想返回一个字符串,说它失败了。

我的代码示例

public ArrayList<test> testing
{
    try
    {
        Arraylist<test> arr = new ArrayList();
        return arr

    } catch (exception e) {
           return "Failed";
    }
}

以上只是我想要做的事情的一个例子。想要的是,当它成功时,它将返回ArrayList,这是可以的。但是当失败时,它将返回一个字符串。我该怎么做?有可能吗?

2 个答案:

答案 0 :(得分:0)

不,你的想法似乎不健全,实际上是不可能的,因为毕竟,一个方法只能只能返回一个单一的类型。你应该考虑抛出异常(我的偏好),或者将null作为标记返回(我认为不是很好,因为它的信息量较少)。

即,

public ArrayList<test> testing throws SomeException {
    Arraylist<test> arr = new ArrayList();
    if (somethingFails) { 
      String message = "an explanation of why the method failed";
      throw new SomeException(message);
    }
    return arr;
}

答案 1 :(得分:0)

您应该做的是throw您自己的异常类型,而不是尝试在异常情况下返回字符串,这表示发生了故障(谷歌如何创建自定义异常)。无论调用什么,这个方法都需要包含在自己的try-catch块中,并首先捕获过滤自定义异常。如果该阻止块发生,则表示发生了故障。