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

7 ответов

8 просмотров

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

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

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

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

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

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

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

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

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

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

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

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

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

это группа токсиков или тех кто помогает?
Ибрагим
9
Гайз, кто-нибудь пробовал запустить probe-rs под камень, которого нет в probe-rs? Мб есть какой-нибудь пример у кого... Через target-gen попробовал сгенерировать chip-descript...
Максим Смирнов
2
Можете помочь с этим, я тут использую Джанго как ОРМ для бота, но бот запускать не хочет, уже всезде перерыл не могу решить, может кто то сталкивался?
Ибрагим
4
Кстати, раз про скачивание файлов разговор зашел) Сделал бота для себя (транскрибирующего и суммаризирующего встречи) но не ожидал что за 2 месяца 10к пользователей набежит😅...
Andrey Obolenskiy
8
всем привет. подскажите. сделал политику, он верхнеуровневая. раздал права только на TEST2 (полные). вопрос - можно ли сделать так, чтобы был доступен только TEST2, а остально...
Андрей Сергеев
5
Добрый день! Подскажите, пожалуйста: какими компетенциями нужно обладать, чтобы претендовать на работу эрланг (отдельная благодарность, если про элексир тоже подскажете) разр...
via ☸️ led
20
тоже об этом подумал. Спека о прерываниях ясно говорит, что IRQ12 только для мыши. А может быть проблема у QEMU?
Давид Коренчук
2
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
А если без шуток, на чем десктоп сейчас пишут кроссплатформенный (ну чтобы с минимальным допиливанием под каждую платформу) и чтобы хорошая производительность софта была. Толь...
🐈
9
t.me/<username> и tg://user?id=<id> отваливаются по понятным причинам
Denis 🐍|👑 | darling! 🥰
7
Карта сайта