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

Date: 2014-10-07 07:56 am (UTC)
From: [identity profile] permea-kra.livejournal.com
>Нет, исключения там только в IO-монаде.

Это неправда, исключения там есть еще в Either(T) & Maybe(T), плюс при желании можно бросить исключение даже в чистом коде через fail :: String -> a или неполный паттерн-матчинг. Другое дело, что это порицается.

Date: 2014-10-07 08:00 am (UTC)
From: [identity profile] potan.livejournal.com
Either и Maybe - это скорее аналоги null и кодов ошибок, а совсем не исключения.
fail - это монада. Неполный паттерн-матчинг, как и деление на ноль, конечно способ бросить исключение в чистом коде, но перехватить его можно только в монаде IO.

Date: 2014-10-08 10:31 am (UTC)
From: [identity profile] permea-kra.livejournal.com
Тьфу ты. Не fail, а error, да. Но возможность есть.

Перехват исключений - да, только в IO.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 25th, 2025 02:42 pm
Powered by Dreamwidth Studios