Я имею в виду, что ошибка отличается от исключения тем, что при её возникновении приложение должно прекращать работу. Но в случае с теми же демонами это не правильно - и можно всегда кидать исключения
Я приведу пример. Регистрируется у нас юзер, передал желаемый email. А наш сервис видит, что уже есть такой email в базе, зачем делать throw new Error(“Email already exists ”)? Ведь после этого не должно останавливаться приложение. А это по бизнесу вполне себе нормально поведение.