Задание следует выполнять на основе решения задачи из блока Dependency Injection Container.
Переработай обработку ошибок следующим образом:
-
Вместо исключений всюду в программе используй паттерн Result<T> (см. пример)
-
Подумай, какие исключительные ситуации могут возникать в вашей программе. Сделай так, чтобы на каждую из них программа вела себя адекватно. Например, выдавала сообщение об ошибке, из которого пользователю было бы понятно, как её исправить. В частности, должны быть обработаны следующие ошибки:
- файл не найден / не доступен
- файл настроек не получилось прочитать
- настройки некорреткны
- одна из внешних библиотек дала сбой (например, NHunspell не смог найти свои словари)
- шрифт с таким именем не найден в системе
- облако тегов не влезло на изображение заданного размера
- и т.п.
0 баллов — нет тестов / есть падающие тесты, нет хорошего решения первого пункта
1 балл — выполнен первый пункт из условия задачи
2 балла — выполнены оба пункта