LINUX.ORG.RU

История изменений

Исправление dimgel, (текущая версия) :

И увидит пользователь «неизвестная ошибка, попробуйте снова» и будет счастлив. Правильная обработка ошибок на исключениях тоже не появляется сама собой.

Где-то выше я давал ссылку на пост Legioner. К тому посту имею добавить:

  1. Мне нужно ровно ДВА класса исключений: UserException(messageForUser) – и все остальные, которые логируются в файл с именем, равным хеш-коду содержимого файла, и юзеру показывается этот хеш-код ошибки. Поскольку «все остальные» в системе уже есть, мне хватает ОДНОГО класса исключений.

  2. Мне нужен ровно ОДИН обработчик исключений – в корневой точке входа, чтобы показывал ошибку юзеру.

Может для меня это уже вопрос привычки, но правильная обработка ошибок на исключениях – тривиальна. Хотя скорее это вопрос не привычки, а правильной архитектуры.

Так же между анврапами и качественными ошибками есть промежуточный вариант: использовать какой-нибудь общий тип ошибок везде

Это несколько перекликается с вышенаписанным, но пойнт спора мне кажется был не в количестве разных типов ошибок. :) А в способе их передачи вверх по стеку: тебе нравится ручками, мне нравится шоб оно само. :)

Исходная версия dimgel, :

И увидит пользователь «неизвестная ошибка, попробуйте снова» и будет счастлив. Правильная обработка ошибок на исключениях тоже не появляется сама собой.

Где-то выше я давал ссылку на пост Legioner. К тому посту имею добавить:

  1. Мне нужно ровно ДВА класса исключений: UserException(messageForUser) – и все остальные, которые логируются в файл с именем, равным хеш-коду содержимого файла, и юзеру показывается этот хеш-код ошибки. Поскольку «все остальные» в системе уже есть, мне хватает ОДНОГО класса исключений.

  2. Мне нужен ровно ОДИН обработчик исключений – в корневой точке входа, который показывает ошибку юзеру ошибку.

Может для меня это уже вопрос привычки, но правильная обработка ошибок на исключениях – тривиальна. Хотя скорее это вопрос не привычки, а правильной архитектуры.

Так же между анврапами и качественными ошибками есть промежуточный вариант: использовать какой-нибудь общий тип ошибок везде

Это несколько перекликается с вышенаписанным, но пойнт спора мне кажется был не в количестве разных типов ошибок. :) А в способе их передачи вверх по стеку: тебе нравится ручками, мне нравится шоб оно само. :)