Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
399 / 308 / 104
Регистрация: 07.05.2017
Сообщений: 2,213

Обработка исключений

14.12.2020, 22:06. Показов 3309. Ответов 10

Студворк — интернет-сервис помощи студентам
вопрос собственно вот в чем.
разрабатываю змейку не совсем классического вида. соответственно много операций со списками в реальном времени и частые выходы за пределы массива и null "выкидыши", но вроде игровой процесс не сильно от этого страдает.
в общем хочется спросить у знатоков , может ли это помочь при компиляции ? то есть если я выкидываю исключение то игра с компилируется, а если нет то нет... так я понимаю ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.12.2020, 22:06
Ответы с готовыми решениями:

Обработка исключений. Как организовать общий обработчик исключений?
У меня есть последовательность вызова методов для внесения данных в таблицу БД. Сам метод внесения данных. Он генерирует исключение ...

Обработка исключений с пмощью структурированной обработки исключений
Есть функция, которая определенным образом работает с файлами,но при работе с файлами "не подходящего" типа вызывается...

Обработка исключений
Программа должна содержать блоки try, catch, точку throw. Задание: Ввод пользователем отрицательного возраста.

10
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
14.12.2020, 22:13
Исключения никак не влияют на компиляцию, это не ошибки синтаксиса. Исключение просто прерывает дальнейшее выполнение кода, типа return`a.
0
399 / 308 / 104
Регистрация: 07.05.2017
Сообщений: 2,213
14.12.2020, 22:23  [ТС]
хорошо ,тогда по другому еще спрошу. будет ли билдится игра ,когда есть ошибки возникающие в процессе игры. например нулевые ссылки...

Добавлено через 15 секунд
и чем это чревато ?
0
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
14.12.2020, 22:29
Конечно будет. Чревато неправильным поведением игры, а иногда никак не влияет, зависит от случая.
0
399 / 308 / 104
Регистрация: 07.05.2017
Сообщений: 2,213
14.12.2020, 22:33  [ТС]
спасибо !
0
399 / 308 / 104
Регистрация: 07.05.2017
Сообщений: 2,213
14.12.2020, 22:47  [ТС]
еще вопросик дополнительно ,чтобы тему не создавать. у меня VS при автономной работе выдает кроме результатов еще и путь к проекту. вот собственно скрин. как это убрать ?
Миниатюры
Обработка исключений  
0
399 / 308 / 104
Регистрация: 07.05.2017
Сообщений: 2,213
14.12.2020, 22:49  [ТС]
и сама кнопка теперь не "Пуск" называется а название проекта просто. до этого было "Присоединить". кое как переподгрузил проект.
0
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
14.12.2020, 22:49
Я не знаю что это)
0
399 / 308 / 104
Регистрация: 07.05.2017
Сообщений: 2,213
15.12.2020, 00:27  [ТС]
странная фишка )))) добавил в конце ожидание нажатия клавиатуры
C#
1
Console.ReadKey();
и перестал адрес проекта рисоваться

Добавлено через 44 минуты
А вообще проект не правильно создавал
0
0 / 0 / 0
Регистрация: 24.01.2021
Сообщений: 7
02.02.2021, 22:29
А может кто подсказать: какой из вариантов обработки исключений более правильный?
Я пытаюсь реализовать это так: ставлю try-catch во всех проблемных методах и при возникновении исключения отправляю письмо с ошибкой на почту. Но мне кажется этот вариант не очень хороший, так как при возникновении исключений игра часто продолжает выполнятся и мне на почту приходит куча ошибок, которые возникли в следствии самой первой ошибки. Может быть стоит принудительно закрывать игру при таких ошибках? Тогда в этом случае хорошо бы было дать понять игроку, что игра вылетела с ошибкой, но как это сделать?
0
 Аватар для samana
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
05.02.2021, 20:51
Цитата Сообщение от Gammister Посмотреть сообщение
частые выходы за пределы массива и null "выкидыши", но вроде игровой процесс не сильно от этого страдает.
Подобные ошибки не нужно ловить с помощью try-catch, просто пишите код, который не будет позволять выходить за пределы массива. Это можно сделать простой проверкой через условие if.

Любые ошибки в коде, которые заведомо могут прекратить выполнение программы - нужно избегать, а не отправлять письма с ошибками на почту. Ведь какой смысл в письме с ошибкой, в котором пишется, что "индекс находился за пределами массива"? Что это даст и как это вам поможет в дальнейшем? Никак.

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

А причём здесь Unity?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.02.2021, 20:51
Помогаю со студенческими работами здесь

Обработка исключений
можете помочь сделать свое исключение в этом коде, пожалуйста!) public static void main(String args) throws IOException { ...

Обработка исключений.
Вобщем намазал, если кому надо, берите(обработка по e-mail): public static void ReportException(Exception e, string from, string to,...

Обработка исключений
Никак не могу понять как работает конструкция try catch. Попытался создать исключение при попытке деления на ноль, но ничего не получается....

Обработка исключений
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using...

Обработка исключений
не понимаю почему не хочет заносить в массив mas_a=0 при срабатывании исключения Exception Мне нужно чтобы при возникновении исключения...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru