2013-12-15 55 views
0

我有一個返回ArrayList類型的方法,但我有一個try/throw/catch塊來處理異常。如果失敗,我想返回一個字符串,說它失敗了。我的代碼如何返回一個字符串,而我的方法正在返回ArrayList?

例這裏

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

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

以上是我所想要做的只是例子。什麼是想要的是什麼時候成功,它會返回ArrayList,這是好的。但是失敗後,它會返回一個字符串。我該怎麼做?有可能的?

+1

不,這是不可能的。 Java是一種強類型語言。既然你聲明你的方法返回'ArrayList',你只需要返回那個或'null'。 –

+0

你試圖用你的代碼完成什麼? –

+0

我明白了。非常感謝。 – user3054491

回答

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; 
} 
+0

我明白了。非常感謝這些信息。 – user3054491

+0

@ user3054491:不客氣。 –

0

,而不是試圖在一個異常的情況下返回一個字符串,你應該做的是throw自己的異常類型,這將表明發生故障(谷歌如何創建自定義例外)。無論調用這個方法需要被包含在它自己的try-catch塊中,並首先捕獲你的自定義異常。如果該捕獲塊觸發,則知道發生了故障。

相關問題