当前位置: 首页 > 面试题库 >

swiftyjson-调用可以抛出,但是标记为“ try”,并且未处理错误

钱志义
2023-03-14
问题内容

我正在尝试使用swiftyjson,但出现错误:

可以抛出呼叫,但是标记为“ try”,并且未处理错误。

我已验证我的源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()
}
}

谢谢您的帮助!


问题答案:

您应该将其包装成一个do-catch块。在您的情况下:

do {
    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)
    }
} catch let error as NSError {
    // error
}


 类似资料:
  • 在我安装Xcode 7 beta并将我的swift代码转换为Swift 2后,我对代码有一些无法解决的问题。我知道Swift 2是新的,所以我搜索并弄清楚,因为没有关于它的任何内容,我应该写一个问题。 以下是错误: 调用可以抛出,但未标有“try”,并且不处理错误 法典:

  • 问题内容: 在安装Xcode 7 Beta并将Swift代码转换为Swift 2之后,我遇到了一些我无法弄清楚的代码问题。我知道Swift 2是新手,所以我搜索并找出了答案,因为没有任何相关内容,我应该写一个问题。 这是错误: 可以抛出呼叫,但未将其标记为“ try”,并且未处理错误 码: 快照: 问题答案: 您必须像处理呼叫一样捕获错误,并且由于您要在此处处理多个错误,因此可以在一个do-cat

  • 所以我对SonarQube有一个无法解决的问题。

  • 问题内容: 我使用以下命令创建了expressjs应用程序: 使用以下命令运行应用程序时,出现以下错误: 如何解决? 问题答案: 您曾经使用与8080相同的端口运行另一台服务器。 也许您在其他Shell中运行过,请关闭它,然后再次运行。 您可以检查端口号。 可用或不使用 另外,您可以使用lsof:

  • 我使用以下命令创建了expressjs应用程序: 当我使用:,我有以下错误: 如何修复它?

  • Try 与错误处理 当你在尝试一门新的语言时,可能不会过于关注程序出错的问题, 但当真的去创造可用的代码时,就不能再忽视代码中的可能产生的错误和异常了。 鉴于各种各样的原因,人们往往低估了语言对错误处理支持程度的重要性。 事实会表明,Scala 能够很优雅的处理此类问题, 这一部分,我会介绍 Scala 基于 Try 的错误处理机制,以及这背后的原因。 我将使用一个在 Scala 2.10 新引入