使用自定义消息处理错误?

3

如何使用自定义消息抛出错误信息(例如ErrorType)?

例如:

catch let error as MyError {
  print(error.customMessage)
}
1个回答

2
我找到了这个简洁版的实现方法。这个想法是实现String和ErrorType两个协议,并使用错误的rawValue。
enum UserValidationError: String, ErrorType {
  case NoFirstNameProvided = "Please insert your first name."
  case NoLastNameProvided = "Please insert your last name."
  case NoAgeProvided = "Please insert your age."
  case NoEmailProvided = "Please insert your email."
}

使用方法:

do {
  try User.define(firstName,
                  lastName: lastName,
                  age: age,
                  email: email,
                  gender: gender,
                  location: location,
                  phone: phone)
}
catch let error as User.UserValidationError {
  print(error.rawValue)
  return
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接