Skip to content

Instantly share code, notes, and snippets.

@mxcl
Created May 22, 2018 21:13
Show Gist options
  • Save mxcl/906cf839001b055980f67bc84c25d356 to your computer and use it in GitHub Desktop.
Save mxcl/906cf839001b055980f67bc84c25d356 to your computer and use it in GitHub Desktop.
public extension Error {
var legibleDescription: String {
if let error = self as? LocalizedError, let description = error.errorDescription {
return description
} else if (self as AnyObject).isKind(of: NSError.self) {
return localizedDescription
} else {
let mirror = Mirror(reflecting: self)
switch mirror.displayStyle {
case .enum?:
return "\(type(of: self)).\(self)"
case .class?:
return "\(self)"
default:
return String(describing: self)
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment