2017-06-26 35 views
-3

我的任務是執行錯誤處理在我的應用程序中 - 每一行代碼都必須檢查錯誤處理。我的朋友(擁有Java背景)建議我將每個方法定義放在try-catch塊中;這是不可能在Swift中。因爲我們可以試着僅針對可拋出的這些方法。所以我需要將我的所有方法轉換爲可拋出的方式,如果是的話,我將如何捕獲我並不知道的異常,因爲這是我們的目標。 那麼我怎麼能覆蓋我的整個項目在錯誤處理?在我的應用程序中覆蓋我的代碼的每一行

此外,我還半信半疑的,做斯威夫特檢查

「致命錯誤的事實:意外地發現零」異常陣列外邊界例外

請幫助我通過這個!

回答

1

是的,你只能抓住一些可以拋出錯誤的東西。 ver,沒有必要抓住每一行代碼。如果你只是創建一個變量並賦值,那就不應該有例外。另外,在你的代碼中,如果發生了一些異常,其餘的代碼不應該運行。在這種情況下,你只需要一個大的try catch,並在出現異常處理塊時出錯通知用戶。

Swift不檢查強制解包或索引超出限制。它爲您提供了使用guard letif let檢查零和索引的方法,但是您需要對此檢查負責。

+0

那麼,我必須說,斯威夫特然後編碼非常理想的情況下不會發生在真正的編碼。必須有一個規定,在一些嘗試抓取中放入代碼塊,而不僅僅是用戶認爲可能拋出的方法。開發者有時候可能不會考慮可能發生的情況,並且當時嘗試趕上來拯救。 – Akaanksha

+0

@Akaanksha當然,是的,你可以做到這一點,並捕捉所有的例外。你知道try catch語法是如何工作的,對吧? –

+0

是的,我願意。我正在尋找類似於java或.net的try塊,它捕獲所有的異常,而不管這些方法是否拋出。 – Akaanksha

相關問題