尝试抓住swift 2.0

时间:2015-09-17 23:02:07

标签: ios swift

我不能理解为什么我必须使用trycatch这样的作业: one

如果我把东西放在do ... while区块中,我会得到这个:

two

3 个答案:

答案 0 :(得分:3)

当您想要处理错误时,您只需要使用执行/捕获结构。 但是,如果您确定您的代码不会给您任何类型的错误,您可以使用取消错误传播 试试吧!

let habitsOfDay = try! Realm().objects(Habit).filter("durationByDays_days contains %@", daySelected) 

您可以在Apple文档中找到有关处理错误的更多信息:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/ErrorHandling.html

答案 1 :(得分:2)

  1. 如果您不想捕获可能的异常,则应标记该函数可以将它们抛给调用者。您是在第二个示例(关键字Cells(3, 2).Value = Split(TopMoverTable.Rows(1).Cells(0).innerText, vbCrLf)(0) )中完成的,而不是在第一个示例中。

  2. 函数应该返回throws但不会。您在第一个样本中有Results<Habit>但在第二个样本中没有。{/ p>

答案 2 :(得分:1)

尝试使用guard语句。

guard let habitsOfDay = Realm().objects(Habit).filter("durationByDays_days contains %@", daySelected) else {return}