expected и вызывающий код не проверяя лезет в value. Что вы в случае ошибки в expected делаете? Дефолтное значение возвращаете?
Я уже отвечал на этот вопрос
Это не правда. Что сделает expected.value если в нем ошибка? Сгенерит репорт и вернет дефолтное значение?
Ты должен проверять значение возвращенное из функции Если ты этого не делаешь, ты работаешь не по пайплайну Но если это все таки произошло и на ревью не отловили, то там будет стандартный низкоуровневый ассерт, который все так же сгенерит репорт, но дропнет программу
Это и есть ошибки программирования о которых шла речь
Нет, это очень частный случай, где ты не используешь предложенный механизм обработки ошибок и естественно огребаешь с фолбеком к более худшему способу с терминейтом В 95 процентах оставшихся ошибок все будет работать без краша, разве этого мало
Ошибки программирования это нарушения контрактов/пре/пост-кондишнов. То что ты называешь "работает не по пайплайну" в том числе. Если у тебя там мог сдохнуть объект и контракт это допускает и тебе надо как это захендлить эту ситуацию это не ошибка программирования.
Есть еще ресерч 10 летней давности на тему того что в больших системах 92% катострофических отказов происходят из-за кода который неверно обрабатывает некритические ошибки. https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-yuan.pdf
Ты можешь называть это как угодно. Я смотрю на цифры количества крашей и багов до и после, и ситуация меня вполне устраивает. А это главное.
Схоронил, посмотрю, спс
Обсуждают сегодня