Pull to refresh
54
-1
Антон Медведев @Elfet

Программист

Send message
Про освоение космоса в СССР хорошо и увлекательно написал Борис Черток в своей трилогии «Ракеты и люди».
UFO landed and left these words here
Вообще, исключения ИМХО нужно кидать только при возникновение таких ситуаций, которые невозможно исключить (такой вот каламбур) на этапе отладки. Не смогли открыть файл — исключение, нету соединения по сети — исключение, закончилась память — исключение. Все остальные ошибки отсеиваются на этапе отладки с помощью assert'ов.

Нужно ли кидать исключение в функции getPoint() и т.п.? Нет, нет и ещё раз нет! Если возврат пустой точки — штатная ситуация, то и обрабатываться она должна штатно, именно через if. Если это нештатная ситуация и такого, согласно алгоритму, просто не может быть — значит этого не должно быть, и вы зря тратите ресурсы, проверяя бросать или нет исключение? А затраты могут быть просто огромными: падение производительности в несколько раз. Вы никогда не задумывались почему std::vector::operator[] не бросает out_of_range? Любая нештатная ситуация которую можете создать вы и только вы, как разработчик приложения, и проверяться должна только в вашей отладочной версии программы.

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity