这应该是简单而明显的,但试着抓住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。任何帮助
答案 0 :(得分:1)
我建议您使用guard
来捕获此类错误:
guard let therapistID = Int(TherapistId) else {
print(TherapistId + " cannot be converted to an Int")
return
// or mark function as throws and return an error
throw NSError(domain: TherapistId + " cannot be converted to an Int", code: 0, userInfo: nil)
}
obj.therapist_id = therapistID
请注意,Int(TherapistId)!
不会引发throws
错误。它是fatal error
,可以停止程序执行。