我有一个返回ArrayList类型的方法但我有一个try / throw / catch块来执行异常处理。如果失败,我想返回一个字符串,说它失败了。
我的代码示例
public ArrayList<test> testing
{
try
{
Arraylist<test> arr = new ArrayList();
return arr
} catch (exception e) {
return "Failed";
}
}
以上只是我想要做的事情的一个例子。想要的是,当它成功时,它将返回ArrayList,这是可以的。但是当失败时,它将返回一个字符串。我该怎么做?有可能吗?
答案 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块中,并首先捕获过滤自定义异常。如果该阻止块发生,则表示发生了故障。