gpt4 book ai didi

swiftyjson - 调用可以抛出,但它被标记为 'try' 并且错误未被处理

转载 作者:行者123 更新时间:2023-11-30 10:44:09 24 4
gpt4 key购买 nike

我正在尝试使用 swiftyjson 但收到错误:

Call can throw, but it is marked with 'try' and the error is not handled.

我已经验证我的源 JSON 是好的。我一直在寻找但找不到解决此问题的方法

import Foundation


class lenderDetails
{

func loadLender()
{

let lenders = ""

let url = URL(string: lenders)!
let session = URLSession.shared.dataTask(with: url)
{
(data, response, error) in


guard let data = data else
{
print ("data was nil?")
return
}

let json = JSON(data: data)
print(json)
}

session.resume()
}
}

感谢您的帮助!

最佳答案

SwiftyJSON 初始化器抛出,声明为

public init(data: Data, options opt: JSONSerialization.ReadingOptions = []) throws

您有三个选择:

  1. 使用 do - catch block 并处理错误(推荐)。

    do {
    let json = try JSON(data: data)
    print(json)
    } catch {
    print(error)
    // or display a dialog
    }
  2. 忽略错误并可选绑定(bind)结果(如果错误无关紧要,则很有用)。

    if let json = try? JSON(data: data) {
    print(json)
    }
  3. 强制解开结果

    let json = try! JSON(data: data)
    print(json)

    仅当保证尝试永远不会失败时才使用此选项(不是在本例中!)。例如,如果目录是框架创建的默认目录之一,则可以在 FileManager 中使用 Try!

更多信息请阅读Swift Language Guide - Error Handling

关于swiftyjson - 调用可以抛出,但它被标记为 'try' 并且错误未被处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56151856/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com