> On Feb 17, 2017, at 1:42 PM, Adrian Zubarev via swift-evolution > <swift-evolution@swift.org> wrote: > > So the typed throws are going to be limited to a single error type, is that > the direction we're heading to?
Yes, this topic was discussed thoroughly last year. > > -- > Adrian Zubarev > Sent with Airmail > > Am 17. Februar 2017 um 20:39:12, Anton Zhilin (antonyzhi...@gmail.com > <mailto:antonyzhi...@gmail.com>) schrieb: > >> In this case, you’d better create a new error type, which includes all the >> cases of those errors: >> >> // FileNotFoundError and WrongFormat are Error-s >> >> struct PreferencesError : Error { >> init(_: FileNotFoundError) >> init(_: WrongFormat) >> // ... >> } >> >> func readPreferences() throws(PreferencesError) >> In the most “lazy” case, you’d just create an enum of those two: >> >> enum PreferencesError : Error { >> case fileNotFound(FileNotFoundError) >> case wrongFormat(WrongFormatError) >> } >> Better yet, you should analyze, which cases are meaningful for user of >> readPreferences, and present them with appropriate interface. You may want >> to crash on those cases of initial error types, with which you can’t do >> anything on the level of abstraction of >> readPreferences. Some of the others will be merged or renamed. >> >> With proper error types, a single type in >> throws clause is enough, without sum types. >> >> 2017-02-17 22:22 GMT+03:00 Adrian Zubarev via swift-evolution >> <swift-evolution@swift.org <mailto:swift-evolution@swift.org>>: >> >> >> Sure thing, but that’s not what I was asking about. Kevin made a protocol >> that conforms to Error where all the his enums conformed to MyError >> protocol. That way we’re losing all enum cases and are not really a step >> further as before. >> >> > _______________________________________________ > swift-evolution mailing list > swift-evolution@swift.org <mailto:swift-evolution@swift.org> > https://lists.swift.org/mailman/listinfo/swift-evolution > <https://lists.swift.org/mailman/listinfo/swift-evolution>
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution