The last line should be `fatalError(findReasonAndTerminate())`. Zhaoxin
On Fri, Mar 24, 2017 at 5:13 PM, Zhao Xin <owe...@gmail.com> wrote: > Change you `func findReasonAndTerminate()` to `func > findReasonAndTerminate() -> String`. > Then you can use `fatalError(func findReasonAndTerminate())`. > > Zhaoxin > > On Fri, Mar 24, 2017 at 5:02 PM, Rien via swift-users < > swift-users@swift.org> wrote: > >> Is there any way to mark a function as “no return”? >> >> Reason: The compiler generates an error when the else block from a guard >> does not terminate the execution by either a return or a fatalError. I want >> to call out to a function and raise the fatalError in that function. >> >> func findReasonAndTerminate() { >> let reason: String = …. >> fatalError(reason) >> } >> >> main.swift: >> >> guard let data = buildData() else { findReasonAndTerminate() } >> >> >> Currently the work around is to add another fatalError like this: >> >> guard let data = buildData() else { findReasonAndTerminate(); fatalError } >> >> >> but it would be nice to have some attribute like @noReturn: >> >> @noReturn >> func findReasonAndTerminate() { … } >> >> >> Regards, >> Rien >> >> Site: http://balancingrock.nl >> Blog: http://swiftrien.blogspot.com >> Github: http://github.com/Balancingrock >> Project: http://swiftfire.nl >> >> >> >> >> >> _______________________________________________ >> swift-users mailing list >> swift-users@swift.org >> https://lists.swift.org/mailman/listinfo/swift-users >> > >
_______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users