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

Reply via email to