码迷,mamicode.com
首页 > 编程语言 > 详细

swift的异常处理:本质是错误信息的传递方式

时间:2019-02-25 12:03:19      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:swift的   ESS   any   错误   local   ict   private   fail   pen   

    func response(from resultObject: Any) throws -> Response {

        guard

            let dict = resultObject as? [String: AnyObject],

            let transaction = PendingTransaction.from(dict)

        else {

            throw CastError(actualValue: resultObject, expectedType: Response.self)

        }

        return transaction

    }

   

 

 func convertPrivateKeyToKeystoreFile(privateKey: String, passphrase: String) -> Result<[String: Any], KeystoreError> {

        guard let data = Data(hexString: privateKey) else {

            return .failure(KeystoreError.failedToImportPrivateKey)

        }

        do {

            let key = try KeystoreKey(password: passphrase, key: data)

            let data = try JSONEncoder().encode(key)

            let dict = try JSONSerialization.jsonObject(with: data, options: []) as! [String: Any]

            return .success(dict)

        } catch {

            return .failure(KeystoreError.failedToImportPrivateKey)

        }

    }

 

 

    var asDictionary: [String: Any]? {

        if let data = self.data(using: .utf8) {

            do {

                return try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any]

            } catch {

                print(error.localizedDescription)

                return [:]

            }

        }

        return [:]

    }

swift的异常处理:本质是错误信息的传递方式

标签:swift的   ESS   any   错误   local   ict   private   fail   pen   

原文地址:https://www.cnblogs.com/feng9exe/p/10430086.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!