在Error的处理过程中,我们通常会打印SomeError.localizedDescription,这样可以帮助我们快速地了解发生的错误。而对于自定义的Error类型,并没有相应的localizedDescription可以供我们使用,那么对自定义的Error类型如何打印localizedDescription?
Answer - 实现LocalizedError协议,重写errorDescription属性
enum SomeError: Error, LocalizedError {
case ErrorType1
case ErrorType2
var errorDescription: String? {
switch self {
case .ErrorType1:
return "This is the Error 1."
case .ErrorType2:
return "This is the Error 2."
}
}
}