可投擲的啟動器
使用錯誤處理將 Struct(或類)初始值設定項作為可丟擲初始值設定項:
示例錯誤處理列舉:
enum ValidationError: Error {
case invalid
}
你可以使用錯誤處理列舉來檢查 Struct(或類)滿足預期要求的引數
struct User {
let name: String
init(name: String?) throws {
guard let name = name else {
ValidationError.invalid
}
self.name = name
}
}
現在,你可以通過以下方式使用 throwable 初始化程式:
do {
let user = try User(name: "Sample name")
// success
}
catch ValidationError.invalid {
// handle error
}