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