metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2014-09-29 11:55 am

С++ EH и логика на исключениях

Хорошо ли в C++ программе делать логику на исключениях?
Я ща втыкаю в одну опенсорсную СУБД в продакшене отладчиком и вижу что там на каждый запрос валится стопицот крестиковых исключений, и не понимаю, это нормально или нет.

[identity profile] bydlorus.livejournal.com 2014-09-29 12:56 pm (UTC)(link)
Какой ещё UB? Там всегда приходит NullReferenceException!

[identity profile] naartir.livejournal.com 2014-09-29 01:15 pm (UTC)(link)
Обычный UB. Разыменование нулевого указателя. Можно погуглить стандрат, если интересно. У меня, кстати, в таком случае с сегфолтом падает (gcc на GNU/Linux). А "Какой ещё UB? Там всегда приходит NullReferenceException!" и означает, что смелые виндоус-программеры UB не боятся. )

[identity profile] berezovsky.livejournal.com 2014-09-29 01:17 pm (UTC)(link)
вроде же с 0x0...05 access denied должно падать

[identity profile] bydlorus.livejournal.com 2014-09-29 01:17 pm (UTC)(link)
Я ещё раз спрашиваю - какой-такой UB, если программист проверил - он тыкает мышкой в объект без прав, и приходит NullReferenceException. Причём он два раза тыкнул, а может и три - всегда одно и то же исключение. И где здесь UB? Всё же вполне defined.

[identity profile] naartir.livejournal.com 2014-09-29 01:18 pm (UTC)(link)
Вы троллите или действительно не знаете, что такое UB?

[identity profile] bydlorus.livejournal.com 2014-09-29 01:20 pm (UTC)(link)
Ну можно сказать, что и троллю. А можно сказать, я намекаю, что windows программисты не знают, что такое UB. Да и зачем им это знать, если они тыкают мышкой, и приходит nullref, при чём тут вообще UB?

[identity profile] naartir.livejournal.com 2014-09-29 01:22 pm (UTC)(link)
А, ну ОК ) Я, собственно, про то же.