Error — маркерный протокол для типов, которые можно throw; enum с associated values — идиоматичный способ доменных ошибок.
Разбор
LocalizedError для user-facing описаний.
- NSError bridging с ObjC.
- Не используйте ошибки для обычного control flow.
- В async коде те же
throws работают с await try.
Пример
enum APIError: Error { case unauthorized, offline }
Итог
Error стандартизирует представление сбоев в Swift.