Проблема заключается в использовании throws
и throw error
. Из документов
Только метательные функции могут распространять ошибки. Любые ошибки, выдаваемые внутри не бросающей функции, должны обрабатываться внутри этой функции.
Собственно говоря, в то время как функция addUser генерирует, код внутри addDocument НЕ генерирует, и поэтому существует разрыв соединения между функцией броскаи не выбрасывающий один.
Я не уверен, почему вы кидаете сюда вообще, так как Firebase имеет свое собственное уведомление об ошибке, поэтому, если есть ошибка, возникающая в результате вызова Firebase, он вызовет параметр ошибки, чтобы небыть нулевым, и это может быть обработано соответственно.
Вы, вероятно, хотите использовать
print("Error writing document: \(error.localizedDescription)")
вместо
print("Error writing document: \(error)")
.