所有类型都可以用作Swift中的错误?
发布时间:2020-12-14 04:25:40 所属栏目:百科 来源:网络整理
导读:我知道Enum的用法如下,那么Array或Dictionary呢? enum VendingMachineError: Error { case invalidSelection case insufficientFunds(coinsNeeded: Int) case outOfStock }throw VendingMachineError.insufficientFunds(coinsNeeded: 5) 解决方法 可以使用
我知道Enum的用法如下,那么Array或Dictionary呢?
enum VendingMachineError: Error { case invalidSelection case insufficientFunds(coinsNeeded: Int) case outOfStock } throw VendingMachineError.insufficientFunds(coinsNeeded: 5) 解决方法
可以使用符合Error协议的任何类型.如果你真的想要
抛出一个数组,然后声明符合协议就足够了: extension Array: Error {} do { throw [1,2,3] } catch { print("Failed:",error) // Failed: [1,3] } 这是更现实的例子,使用struct来抛出 struct ParserError: Error,LocalizedError { let line: Int public var errorDescription: String? { return "Parser error at line (line)" } } func parse() throws { throw ParserError(line: 13) } do { try parse() } catch let error { print(error.localizedDescription) } 输出: Parser error at line 13 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |