The guard statement needs to have a something to take the flow of the program away from the enclosing scope (e.g. most likely case is return to return from the function). This is required as the condition that guard is guarding will not be valid, so the program flow needs to go elsewhere!
Documentation:
The
elseclause of aguardstatement is required, and must either call a function with theNeverreturn type or transfer program control outside the guard statement’s enclosing scope using one of the following statements:
returnbreakcontinuethrow