Simplest way to throw an error/exception with a custom message in Swift 2?

前端 未结 10 1872
走了就别回头了
走了就别回头了 2020-12-22 15:57

I want to do something in Swift 2 that I\'m used to doing in multiple other languages: throw a runtime exception with a custom message. For example (in Java):



        
10条回答
  •  盖世英雄少女心
    2020-12-22 16:51

    Check this cool version out. The idea is to implement both String and ErrorType protocols and use the error's rawValue.

    enum UserValidationError: String, Error {
      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."
    }
    

    Usage:

    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
    }
    

提交回复
热议问题