我想測試一個數組的數量是否大於0,否則關閉當前視圖。手動去捕捉語句... catch
現在我在做這樣的:
do {
let pets = try self.managedObjectContext.fetch(request)
guard pets.count > 0 else {
self.dismiss(animated: true, completion: nil)
}
dateCreated = Date(timeIntervalSince1970: Double(pets[0].dateCreated))
} catch {
self.dismiss(animated: true, completion: nil)
}
我想知道如果我可以手動發送do..catch
到catch
如果計數不大於0,這樣,我不不得不有self.dismiss(animated: true, completion: nil)
寫兩次。有誰知道這是否可能?
我喜歡你的回答比我的好,但我想他應該看到投擲是一種選擇。 –
@DanielT。我不認爲在任何情況下拋出假的錯誤都是一個不錯的選擇。例如,您可以通過定義'let onError:() - > Void = {self.dismiss(...)}'來從兩個分支()中調用'onError'來消除重複。這比僞造錯誤還要好。 – Sulthan
我同意,但可能有更大的背景,提問者或未來的讀者正在處理錯誤不會是假的地方。就像我說的那樣,你的回答對於所問的確切問題更好。 –