Несколько причин, по которым разработчики игр могут не любить исключения:
- Невидимость в исходном коде. gamedev.stackexchange.com При взгляде на блок кода, включая функции, которые могут или не могут выбрасывать исключения, невозможно увидеть, какие исключения и откуда могут быть выброшены. gamedev.stackexchange.com Это значит, что даже тщательный осмотр кода не выявляет потенциальные ошибки. gamedev.stackexchange.com
- Создание слишком многих возможных точек выхода из функции. gamedev.stackexchange.com Чтобы написать правильный код, нужно думать о каждом возможном пути через функцию. gamedev.stackexchange.com Каждый раз, когда вызывается функция, которая может выбросить исключение и его не ловят на месте, создаются возможности для неожиданных ошибок. gamedev.stackexchange.com
- Проблемы с передачей исключений из одного модуля в другой. gamedev.stackexchange.com Это возможно, только если модули построены с помощью одного компилятора и с одинаковыми настройками. gamedev.stackexchange.com
Однако стоит отметить, что у исключений есть и преимущества: например, код становится более самоочевидным, так как только функции, которые действительно что-то возвращают, возвращают значение, а «действенные» функции могут быть пустыми. www.gamedev.net