【问题标题】:Read HTML file in Swift 2.0在 Swift 2.0 中读取 HTML 文件
【发布时间】:2015-08-28 06:56:06
【问题描述】:

我正在使用下面的代码。

func getData(url: String) {
    if let url = NSURL(string: url) {
        do {
            let html = try NSString(contentsOfURL: url, encoding: NSUTF8StringEncoding)
            print("HTML: \(html)")
        } catch {
            print("x")
        }

    }

}

getData("Google.com")

我需要帮助以稍后打印出变量“html”以及打印出强制捕获抛出的错误的任何其他情况。使用当前代码,它会打印出“x”。我想打印出为什么它强制捕获我可以知道出了什么问题以及为什么 'html' 没有打印出来。

【问题讨论】:

  • Swift do-try-catch syntax 的可能重复项
  • @EricD。我想看看是否有办法打印出强制该 catch 语句的原因?我想知道为什么我的代码没有打印出“html”而是打印出“x”。
  • print("x") 替换为print(error)。这个error 变量不是你的,它是由do catch 机制生成的。尝试一下。 :) // 就像this example 一样。 // 下一步:按照重复链接中的说明创建您自己的错误类型。

标签: html string error-handling swift2


【解决方案1】:

使用错误类型创建 ErrorType 的 Enum 字段并使用 do ... catch 语法遍历它们...你已经回答了这个主题:

Swift do-try-catch syntax

【讨论】:

  • 我如何实际打印出发生的错误。
  • 我不明白你的问题?你想在哪里打印错误?
  • 有没有办法打印出强制catch语句的原因?我想知道为什么我的代码没有打印出“html”而是打印出“x”。
  • 正如我告诉你的那样,用 enum MyErrors 之类的错误类型创建枚举:ErrorType { case BadFile case BadNetwork } 然后你用 do { let sandwich = try doSomeFunction(function) print("i做功能“)}catch MyErrors.BadFile { print("Bad File") }catch MyErrors.BadNetwork { print("Bad Error") }catch { print("random error") }
  • 查看上面的评论,这就是我正在寻找的部分打印(错误)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-15
  • 1970-01-01
  • 2015-10-25
  • 2014-08-26
相关资源
最近更新 更多