Желтое предупреждение говорит вам, почему - ничего в блоке do
throws
; у вас нет операторов try
, потому что ни одна из функций, которые вы вызываете throw
. Если ничего throws
, то вы никогда не сможете catch
.
В Swift метод do / try / catch предназначен только для перехвата Swift Error
s. Он не используется для перехвата общих исключений времени выполнения, которые могут возникнуть.
removeObserver
- это фундаментальная функция, которая предшествует Swift на долгое время. Это вызовет жесткое исключение времени выполнения, если наблюдатель не зарегистрирован. Это не бросает Swift Error
.