Ошибки программирования это как раз такие кейсы, когда функция возвращает

expected и вызывающий код не проверяя лезет в value. Что вы в случае ошибки в expected делаете? Дефолтное значение возвращаете?

9 ответов

6 просмотров

Я уже отвечал на этот вопрос

Aleksei Kuznetsov-Kuznetsov Автор вопроса
Nikita Khrapov
Я уже отвечал на этот вопрос

Это не правда. Что сделает expected.value если в нем ошибка? Сгенерит репорт и вернет дефолтное значение?

Aleksei Kuznetsov Kuznetsov
Это не правда. Что сделает expected.value если в н...

Ты должен проверять значение возвращенное из функции Если ты этого не делаешь, ты работаешь не по пайплайну Но если это все таки произошло и на ревью не отловили, то там будет стандартный низкоуровневый ассерт, который все так же сгенерит репорт, но дропнет программу

Aleksei Kuznetsov-Kuznetsov Автор вопроса
Nikita Khrapov
Ты должен проверять значение возвращенное из функц...

Это и есть ошибки программирования о которых шла речь

Aleksei Kuznetsov Kuznetsov
Это и есть ошибки программирования о которых шла р...

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

Aleksei Kuznetsov-Kuznetsov Автор вопроса

Ошибки программирования это нарушения контрактов/пре/пост-кондишнов. То что ты называешь "работает не по пайплайну" в том числе. Если у тебя там мог сдохнуть объект и контракт это допускает и тебе надо как это захендлить эту ситуацию это не ошибка программирования.

Nikita Khrapov
Нет, это очень частный случай, где ты не используе...

Есть еще ресерч 10 летней давности на тему того что в больших системах 92% катострофических отказов происходят из-за кода который неверно обрабатывает некритические ошибки. https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-yuan.pdf

Aleksei Kuznetsov Kuznetsov
Ошибки программирования это нарушения контрактов/п...

Ты можешь называть это как угодно. Я смотрю на цифры количества крашей и багов до и после, и ситуация меня вполне устраивает. А это главное.

Похожие вопросы

Обсуждают сегодня

А если без шуток, на чем десктоп сейчас пишут кроссплатформенный (ну чтобы с минимальным допиливанием под каждую платформу) и чтобы хорошая производительность софта была. Толь...
🐈
9
Гайз, кто-нибудь пробовал запустить probe-rs под камень, которого нет в probe-rs? Мб есть какой-нибудь пример у кого... Через target-gen попробовал сгенерировать chip-descript...
Максим Смирнов
2
Добрый вечер. Пытаюсь запустить uefi приложение с графикой(https://rust-osdev.github.io/uefi-rs/HEAD/how_to/drawing.html), ничего не выводится и qemu закрывается. Причем обычн...
4:20
1
Добрый день, коллеги, подскажите пожалуйста, есть ли кто-то тут, или у кого знакомые Senior / Lead C++, в идеале бы еще с QT с опытом или желанием работать с десктопом? Или эт...
🐈
5
Или мне дублировать структуру с информацией о следующем потоке в адресное пространство текущего потока?
One
9
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
Всем привет, подскажите где можно найти фриланс работы?
Вадим
7
Добрый день! Подскажите, пожалуйста: какими компетенциями нужно обладать, чтобы претендовать на работу эрланг (отдельная благодарность, если про элексир тоже подскажете) разр...
via ☸️ led
20
Привет. Кто-то использует Vault KV как корпоративную хранилку паролей? Какие минусы?)
Alex R
3
Qt Widgets или Qt Quick?
Michael
6
Карта сайта