【发布时间】:2015-12-03 07:52:12
【问题描述】:
这应该简单明了,但尝试在 swift2 中捕获让我感到沮丧。这是我的代码。
@IBAction func btnAdd_TouchDown(sender: AnyObject) {
do { try AddNewNotesToList() } catch{
if(Ex.UnknownError != "")
{
Error(Ex.UnknownError)
}
}
}
func AddNewNotesToList() throws
{
var obj: TreatmentNotesDTO = TreatmentNotesDTO()
obj.therapist_id = Int(TherapistId)! // getting error here
return
}
错误:
致命错误:在展开可选值时意外发现 nil
调试器应该去赶上,但它分手了。我来自 c#,刚开始使用 swift2。任何帮助
【问题讨论】:
-
要捕获错误,目标函数必须抛出一个错误。阅读语言指南中的“错误处理”一章:developer.apple.com/library/ios/documentation/Swift/Conceptual/…
-
没有正确获取您,您可以显示任何代码吗?
-
我在函数中添加了
throws,但仍然无法正常工作。我不想手动定义错误。 Swift 应该会自动选择错误,例如 c#、javascript 等 lang。 -
在 Swift 中,您必须在使用
try - catch时定义错误。使用可选绑定检查Int初始化程序的结果可能更容易,如 Qbyte 的答案中所述 -
是的,现在知道了,但这似乎很烦人,如果我在
AddNewNotesToList中有 100 个“变量”,那么我需要为所有 100 个variable创建抛出函数。一定有什么捷径