web-dev-qa-db-ja.com

ここからスローされたエラーは処理されません

IOSアプリでJSONを解析しようとすると、この問題が発生します。

関連コード:

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 */

誰も私を助けることができますか?

25
TibiaZ

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)
}

勉強したいかもしれません Swift(3)言語

61
shallowThought