2016-11-07 55 views
7

我有这个问题,试图解析在我的iOS应用中JSON:错误从这里扔不处理

JSON Problem

相关代码:

let jsonData:NSDictionary = try JSONSerialization.jsonObject(with: urlData! as Data, options: JSONSerialization.ReadingOptions.mutableContainers) as! NSDictionary 

/* XCode error ^^^ Errors thrown from here are not handled */ 

任何人可以帮助我吗?

+3

请不要将您的代码作为图像发布。将相关代码复制并粘贴到您的问题中。还包括完整的错误信息作为问题中的文本,并指出哪一行会导致错误。 – rmaddy

+0

如果您使用的是Swift 3,请使用Swift 3类型。使用'Data',而不是'NSData'。使用'Error',而不是'NSError'。使用Swift数组和字典,而不是'NSArray'和'NSDictionary'。 – rmaddy

+0

并做错误消息告诉你要做的事情。您正在使用'try',但它没有进入正确的Do-Catch范围... – Moritz

回答

27

let jsonData = try JSONSerialization ...中的可能错误未被处理。

如果出现错误,您可以忽略一个可能的错误和崩溃的处罚:

let jsonData = try! JSONSerialization ... 

或返回Optional,所以jsonDatanil错误的情况下:

let jsonData = try? JSONSerialization ... 

,或者你可以捕获并处理抛出的错误:

do { 
    let jsonData = try JSONSerialization ... 
    //all fine with jsonData here 
} catch { 
    //handle error 
    print(error) 
} 

您可能想要学习The Swift (3) Language

+0

你当之无愧!我对Swift很陌生!哦,男人,斯威夫特起初是一个痛苦的屁股! <3 –