Last active
February 26, 2016 02:01
-
-
Save sgr-ksmt/9f79db2bf70595f89f4c to your computer and use it in GitHub Desktop.
Enhanced ErrorType in Swift. blog; http://blog.sgr-ksmt.org/2016/02/26/enhanced_error_type/ (日本語)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public protocol EnhancedErrorType: ErrorType, CustomStringConvertible { | |
var domain: String { get } | |
var code: Int { get } | |
var userInfo: [NSObject: AnyObject]? { get } | |
} | |
extension EnhancedErrorType { | |
var _domain: String { | |
return domain | |
} | |
var _code: Int { | |
return code | |
} | |
var domain: String { | |
return String(reflecting: self.dynamicType) | |
} | |
var code: Int { | |
return 0 | |
} | |
var userInfo: [NSObject: AnyObject]? { | |
return nil | |
} | |
public func toNSError() -> NSError { | |
return NSError(domain: domain, code: code, userInfo: userInfo) | |
} | |
var description: String { | |
return "\(toNSError())" | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Usage