Как в вашем движке устроена обработка ошибок?

7 ответов

25 просмотров

Ну например, вам нужно вернуть объект, но его нет. Вы возращаете null, или бросаете на месте?

Константин Меньшиков
Ну например, вам нужно вернуть объект, но его нет....

Ну, это от места зависит и от ожидаемого поведения, очевидно

Константин Меньшиков
Ну например, вам нужно вернуть объект, но его нет....

Смотря где. Если это ошибка программиста то сразу panic (у меня rust). Если это не ошибка программиста и область ошибки не очень большая (кадр, запрос к фс, сети, и тп), то Result/Option.

Vladimir Zaytsev
Смотря где. Если это ошибка программиста то сразу ...

А например, есть метод начать играть анимацию. Будет ли плохим тоном, если имени не нашлось, просто написать варнинг, и продолжить выполнение?

Константин Меньшиков
А например, есть метод начать играть анимацию. Буд...

У тебя может быть своя семантика. Конкретно у меня в проекте - по-разному. Анимация это ресурс который мог не успеть загрузится. Но в других функциях где например обрабатывается логика боевой системы у меня паники если параметры предметов не загружены. Но там так устроены зависимости что если эти параметры не подгрузится в время то значит что-то где-то не так.

Константин Меньшиков
А например, есть метод начать играть анимацию. Буд...

Если при ошибке высока вероятность автоматического исправления (т.е. код явно ожидает ошибку) то я бы выбрал коды возврата или их аналоги, если обработку ошибки в большинстве случаев не предполагается выполнять и после ошибки состояние программы не согласовано, то любой способ предполагающий краш

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

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

Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
А в каком формате фреймы? Сам формат сейчас придумываешь, или что-то готовое нужно распарсить?
Okhsunrog
5
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
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Карта сайта