I have the following guard
statement, which is producing an error. What's wrong?
guard NSFileManager.defaultManager().fileExistsAtPath(appBundlePath) else {
print("App bundle doesn't exist")
}
error: 'guard' body may not fall through
error: 'guard' body must not fall through, consider using a 'return' or 'throw' to exit the scope
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!
The
else
clause of aguard
statement is required, and must either call a function with theNever
return type or transfer program control outside the guard statement’s enclosing scope using one of the following statements:
return
break
continue
throw