使用本地化描述建立自定義錯誤
建立自定義錯誤的 enum
enum RegistrationError: Error {
case invalidEmail
case invalidPassword
case invalidPhoneNumber
}
建立 RegistrationError
的 extension
來處理本地化描述。
extension RegistrationError: LocalizedError {
public var errorDescription: String? {
switch self {
case .invalidEmail:
return NSLocalizedString("Description of invalid email address", comment: "Invalid Email")
case .invalidPassword:
return NSLocalizedString("Description of invalid password", comment: "Invalid Password")
case .invalidPhoneNumber:
return NSLocalizedString("Description of invalid phoneNumber", comment: "Invalid Phone Number")
}
}
}
處理錯誤:
let error: Error = RegistrationError.invalidEmail
print(error.localizedDescription)