2013-08-28 32 views
1

我很想知道你會如何提前退出某個方法。如果這是一個無效類型,我只是做「返回」,但因爲這是一個int類型,它希望我返回一個整數。我如何返回到主而不返回任何整數。謝謝。退出一個非void方法? (Java)

​​
+0

退出此方法只有兩種方法,可以返回一個整數或拋出異常。 – sbk

+0

這是一個特例嗎?也就是說,你的方法是否作爲合同的一部分,首先必須是<=最後?如果是這種情況,那麼你可能會考慮在這裏拋出異常,可能是IllegalArgumentException。 – shoover

回答

3

傳統意義上,您不能從沒有返回值的方法返回。

您可以return -1;並在您的文檔中聲明-1代表失敗的搜索,或者您可以丟出exception。但是,如果拋出異常,則需要捕捉它。你可以在鏈接文章中閱讀更多。

+1

...除非拋出的異常是RuntimeException – sbk

+0

這是真的,但這是編譯時可以預料的錯誤,所以它不應該是RuntimeException。 – wjl

0

有幾個選項.... 1. break; 2.返回您知道不會從有效結果返回的值。如99999999或-34

這些將是簡單的選擇....

編輯 當然打破只會退出循環。所以你仍然需要返回一個已知的值。

+2

'break;'不會退出該方法。它用於退出循環。 – wjl

+0

是的。我的意思是它可以用來跳出並返回給定的已知值。誠然,沒有很好地解釋。 –