Подтвердить что ты не робот

Swift 2: тело защитника не может пройти через ошибку

У меня есть следующий защитный сниппет, который создает ошибку, "тело защитника не может провалиться". Что не так?

 guard NSFileManager.defaultManager().fileExistsAtPath(appBundlePath) else {
        print("App bundle doesnt exist")
 }
4b9b3361

Ответ 1

Оператор guard должен иметь что-то, чтобы отвлечь поток программы от охватывающей области (например, наиболее вероятным случаем является return для возврата из функции). Это необходимо, так как условие охраны охранника не будет действительным, поэтому поток программы должен быть отправлен в другое место!

Documentation:

Требуется предложение else инструкции охраны и должно либо вызвать функция, отмеченная атрибутом noreturn или программой передачи контроль за пределами инструкций охраны, охватывающих область действия, с использованием одной из следующие утверждения:

  • return
  • break
  • продолжить
  • бросок