【问题标题】:swift 2.x how to use try catchswift 2.x 如何使用try catch
【发布时间】:2015-12-16 08:47:43
【问题描述】:

这是我的异步图像加载器代码。

编译错误和警告。

警告 >>> 'try' 表达式中不会调用抛出函数。

我的第一个代码>>>

 let getImage = UIImage(data: NSData(contentsOfURL: NSURL(string: imageURL)!)!)
 completion(result: getImage!)

但是这段代码有错误,wifi连接没有错误

wifi断开有错误。

所以我想用try-catch。

do{
   let getImage = try UIImage(data: NSData(contentsOfURL: NSURL(string: imageURL)!)!)
   completion(result: getImage!);
}
catch
{
    print("NOT CONNECTED")
}

我哪里错了?

【问题讨论】:

  • 我为我的小英语感到羞耻T_T.....

标签: ios swift2 swift2.1


【解决方案1】:

UIImage(data: data) 不会抛出任何异常,所以你不能只使用 try 和 catch

相反,您可以使用类似的东西

if let data = NSData(contentsOfURL: NSURL(string: "")!){
    if let getImage = UIImage(data: data) {
         completion(result: getImage);   
    }
}

【讨论】:

  • 但是NSData(contentsOfURL: NSURL(string: imageURL)!) 确实扔了一个,对吧?
  • @mad_manny 不抛出错误,如果你想抛出,你必须自定义你自己的错误,如果你选择点击contentsOfURL 你看到它不会抛出错误,但类似@987654324 @确实
  • 就像@Tj3n 提到的 NSData(contentsOfURL: ) 不会抛出异常,但如果你使用 NSData(contentsOfURL: , options: ) 它会抛出——你可以从 xcode 上的自动完成菜单中看到这些东西
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-15
  • 1970-01-01
  • 2015-08-23
  • 2016-09-30
  • 2015-07-07
  • 1970-01-01
相关资源
最近更新 更多