IOS_BROADCAST Telegram 2110
🐥 Правильная обработка ошибок Swift: борьба с наследием Objective-C
Несмотря на то что Swift Error избавился от приставки NS, под капотом часто оказывается старый "добрый" NSError. Если не понимать как с ним правильно работать, сообщения об ошибках будут отображаться не корректно. Почти в каждом проекте есть набор утилит для того чтобы решить эту проблему, в статье же рассматривается готовое опенсорсное решение

Причина проблемы: мост NSError
🔴Протокол Error в Swift связан с Objective-C NSError
🔴Swift создает NSError с доменом и кодом, игнорируя локализованное описание

Официальное решение: LocalizedError
🟢Протокол LocalizedError предоставляет локализованные сообщения. Но тут тоже есть проблемы: необязательные свойства, игнорирование других свойств, устаревший подход

Альтернативное решение: Протокол Throwable
🔵Опенсорсная библиотека ErrorKit предоставляет протокол Throwable, который устраняет проблемы LocalizedError
🔵ErrorKit включает встроенные типы ошибок для распространенных сценариев, например NetworkError, FileError, DatabaseError, ValidationError, PermissionError

Не буду приводить тут выводы из статьи, она явно расхваливает конкретную библиотеку. Но посмотреть в исходники и модифицировать свои обработчики ошибок, может быть полезно.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM



tgoop.com/ios_broadcast/2110
Create:
Last Update:

🐥 Правильная обработка ошибок Swift: борьба с наследием Objective-C
Несмотря на то что Swift Error избавился от приставки NS, под капотом часто оказывается старый "добрый" NSError. Если не понимать как с ним правильно работать, сообщения об ошибках будут отображаться не корректно. Почти в каждом проекте есть набор утилит для того чтобы решить эту проблему, в статье же рассматривается готовое опенсорсное решение

Причина проблемы: мост NSError
🔴Протокол Error в Swift связан с Objective-C NSError
🔴Swift создает NSError с доменом и кодом, игнорируя локализованное описание

Официальное решение: LocalizedError
🟢Протокол LocalizedError предоставляет локализованные сообщения. Но тут тоже есть проблемы: необязательные свойства, игнорирование других свойств, устаревший подход

Альтернативное решение: Протокол Throwable
🔵Опенсорсная библиотека ErrorKit предоставляет протокол Throwable, который устраняет проблемы LocalizedError
🔵ErrorKit включает встроенные типы ошибок для распространенных сценариев, например NetworkError, FileError, DatabaseError, ValidationError, PermissionError

Не буду приводить тут выводы из статьи, она явно расхваливает конкретную библиотеку. Но посмотреть в исходники и модифицировать свои обработчики ошибок, может быть полезно.

BY iOS Broadcast








Share with your friend now:
tgoop.com/ios_broadcast/2110

View MORE
Open in Telegram


Telegram News

Date: |

As five out of seven counts were serious, Hui sentenced Ng to six years and six months in jail. While the character limit is 255, try to fit into 200 characters. This way, users will be able to take in your text fast and efficiently. Reveal the essence of your channel and provide contact information. For example, you can add a bot name, link to your pricing plans, etc. Public channels are public to the internet, regardless of whether or not they are subscribed. A public channel is displayed in search results and has a short address (link). 3How to create a Telegram channel? 4How to customize a Telegram channel?
from us


Telegram iOS Broadcast
FROM American