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

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

9 ответов

30 просмотров

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

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
Ошибки программирования это нарушения контрактов/п...

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

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

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

Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
1
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Коллеги, я тут для личных нужд пошел ставить MQTT сервер, пощупал mosquitto, но ужаснулся отсутствию такой банальности, как HTTP API для посмотреть список топиков. А тут что,...
Maksim Lapshin
14
У меня задача: написать брокер сообщений. Очереди и потребители. Очереди поддерживают приоритеты. Очередь отдает сообщения, только обработчикам с соответствующими характеристи...
Aleksandr Filippov
2
Решил тут попробовать embassy на bluepill. Все установил, собрал blink и успешно залил с помощью St link 2 китайского. Но после этого чип шиться перестал. На форумах прочел, ч...
Lukutin R2AJP
6
Немного оффтопа: а кто на чем сидит для осдева в плане ide/редактора? Последнее время сидел на vscode, но я его прям не могу нормально воспринимать, перешел на сlion, но меня...
Evg Resh
29
Карта сайта