swift编码出现Call can throw, but it is not marked with 'try' and the error is not handled错误的解决
2015-12-08 14:04
323 查看
最近使用Swift编程中,遇到一个问题,就是出现了Call can throw, but it is not marked with ‘try’ and the error is not handled的错误。
我做的是获取视频的首帧图片,在使用到
这是OC中方法的解释:
这是Swift中方法的解释
这是我出现问题代码的截图:
解决办法:
编码出现error:Call can throw, but it is not marked with ‘try’ and the error is not handled,通过加一个try解决,原因就是没有处理错误 (PS: 就像Java中的异常错误处理,也是采用 try …catch)
最终解决错误的代码:
我做的是获取视频的首帧图片,在使用到
copyCGImageAtTime(requestedTime: CMTime, actualTime: UnsafeMutablePointer<CMTime>) throws -> CGImage方法时,出现了Call can throw, but it is not marked with ‘try’ and the error is not handled的错误。刚开始以为是参数的错误,因为在OC该方法是这样的
- (nullable CGImageRef)copyCGImageAtTime:(CMTime)requestedTime actualTime:(nullable CMTime *)actualTime error:(NSError * __nullable * __nullable)outError,纠结好久,上网查阅相关资料,解决了!下面看一下:
这是OC中方法的解释:
[code]/*! @method copyCGImageAtTime:actualTime:error: @abstract Returns a CFRetained CGImageRef for an asset at or near the specified time. @param requestedTime The time at which the image of the asset is to be created. @param actualTime A pointer to a CMTime to receive the time at which the image was actually generated. If you are not interested in this information, pass NULL. @param outError An error object describing the reason for failure, in the event that this method returns NULL. @result A CGImageRef. @discussion Returns the CGImage synchronously. Ownership follows the Create Rule. */ - (nullable CGImageRef)copyCGImageAtTime:(CMTime)requestedTime actualTime:(nullable CMTime *)actualTime error:(NSError * __nullable * __nullable)outError CF_RETURNS_RETAINED;
这是Swift中方法的解释
[code]/*! @method copyCGImageAtTime:actualTime:error: @abstract Returns a CFRetained CGImageRef for an asset at or near the specified time. @param requestedTime The time at which the image of the asset is to be created. @param actualTime A pointer to a CMTime to receive the time at which the image was actually generated. If you are not interested in this information, pass NULL. @param outError An error object describing the reason for failure, in the event that this method returns NULL. @result A CGImageRef. @discussion Returns the CGImage synchronously. Ownership follows the Create Rule. */ public func copyCGImageAtTime(requestedTime: CMTime, actualTime: UnsafeMutablePointer<CMTime>) throws -> CGImage
这是我出现问题代码的截图:
解决办法:
编码出现error:Call can throw, but it is not marked with ‘try’ and the error is not handled,通过加一个try解决,原因就是没有处理错误 (PS: 就像Java中的异常错误处理,也是采用 try …catch)
最终解决错误的代码:
[code]func getThunbImage(url: NSURL) -> (UIImage) { let asset: ***URLAsset = ***URLAsset(URL: url, options: nil) let gen: ***AssetImageGenerator = ***AssetImageGenerator(asset: asset) gen.appliesPreferredTrackTransform = true let time: CMTime = CMTimeMakeWithSeconds(0, 1) var actualTime: CMTime = CMTimeMake(0, 0) var thumb: UIImage = UIImage() do { let image: CGImageRef = try gen.copyCGImageAtTime(time, actualTime: &actualTime) thumb = UIImage(CGImage: image) } catch { } return thumb }
相关文章推荐
- Swift学习之路 -- 枚举和结构体
- 【菜鸟初学Swift】IOS平台常用传感器的使用方式
- Swift!代码实现UI基础控件
- Swift----单列的正确编写方式
- swift 学习之 UIAlertViewController
- 如何使用Instruments诊断App(Swift版):起步
- swift - 动态计算文本高度
- swift学习之UITabelView ----使用xib定义cell
- swift学习之UITabelView ----UITableViewCell
- swift学习之-- UIAlertVIewController - uiactionsheet
- swift学习之-- UIAlertViewController -alert
- Swift中的元组(turple)
- Swift 开源那点事
- Swift中的闭包
- Swift -- 泛型
- Swift -- protocol、extension
- Swift学习——Swift解释具体的基础(六)
- 程序猿必知的swift单例编写的正确方式
- ios9中新建swift工程并采用OC混编的方式,keywindow=nil的解决办法
- Swift学习笔记 -- 简单值