@ProCxx

Страница 2263 из 2477
Ilia
06.08.2018
13:55:10
Дед Пегас
06.08.2018
13:56:14
Ну, кстати, для всего этого пилится же std::expected

Google
Дед Пегас
06.08.2018
13:56:21
Что очень годная штука, ящита.

Дед Пегас
06.08.2018
13:56:26
ящита*

Anatoly
06.08.2018
13:56:33
Дед Пегас
06.08.2018
13:56:51
Чё за GOStyle?
Это не Go. Это вполне себе Haskell, Rust и т.д.

Ilia
06.08.2018
13:56:53
Опыт
Мы уже говорили про твой опыт...

Anatoly
06.08.2018
13:56:58
Чё за GOStyle?
теперь уже и го? Я говорю про нормальные плюсы без эксепшенов

Дед Пегас
06.08.2018
13:57:23
Я вот у себя в плюсопроекте Either реализовал и успешно юзаю. Удобна.

Ilia
06.08.2018
13:57:26
Опыт
ОК, давай так. Расскажи, чем тебе мешает исключение в этом случае? Вот есть метод, он парсит JSON, возвращает значение типа BOOST::property_tree или как его там. Возвращает по значению. что ему возвращать в этом случае?

Aidar
06.08.2018
13:57:56
Я вот у себя в плюсопроекте Either реализовал и успешно юзаю. Удобна.
Это зависит от того как функция называется или что там у вас

Google
Дед Пегас
06.08.2018
13:58:24
Aidar
06.08.2018
13:58:42
Если она называется дай мне тип из джсона, возвращать ошибку такое себе

Anatoly
06.08.2018
13:58:51
Без вот этого всего бреда с exception и ...

Ilia
06.08.2018
13:59:31
Я хочу точно знать типы
Тип возврата ты и так знаешь

Anatoly
06.08.2018
13:59:37
Если она называется дай мне тип из джсона, возвращать ошибку такое себе
Должно быть два апи. С эксепшенами для тех, кому это критично и без них.

Ilia
06.08.2018
14:00:16
Должно быть два апи. С эксепшенами для тех, кому это критично и без них.
Ну ок, возми, напиши обёртку для этой библиотеки, или может форк, где сделаешь так.

Anatoly
06.08.2018
14:00:20
Если бросаете эксепшены, то, будьт едобры, опишите их все.

Aidar
06.08.2018
14:00:27
Должно быть два апи. С эксепшенами для тех, кому это критично и без них.
Все программисты си++ по определению предполагают что все по умолчанию кидает эксепшн

Combot
06.08.2018
14:00:30
Ilia Zviagin (1) увеличил репутацию Aidar Fattakhov (2)

Ilia
06.08.2018
14:00:56
Если бросаете эксепшены, то, будьт едобры, опишите их все.
Да иди ты на Java программируй с таким стилем...

Aidar
06.08.2018
14:01:22
Если бросаете эксепшены, то, будьт едобры, опишите их все.
Ты можешь перестроить логику на другой тип гарантий? Не на бросит а на небросит?

Ilia
06.08.2018
14:01:34
Если бросаете эксепшены, то, будьт едобры, опишите их все.
Зачем тебе все типы исключений? Чтобы все поймать?

Дед Пегас
06.08.2018
14:01:46
Да иди ты на Java программируй с таким стилем...
Ну не. Все исключения должны быть описаны

Ilia
06.08.2018
14:01:59
Это не дурацкая Java. тут можно сделать всё удобнее.

Anatoly
06.08.2018
14:02:00
Да иди ты на Java программируй с таким стилем...
Может хватит говорить, что я должен делать?)

Дед Пегас
06.08.2018
14:02:10
Писать catch(...) в корне процесса или потока это такое говнище, что каждый раз хочется бить по рукам.

Google
Ilia
06.08.2018
14:02:14
Aidar
06.08.2018
14:02:20
Ilia
06.08.2018
14:02:25
Java не дурацкая
Джава дурацкая

Дед Пегас
06.08.2018
14:02:27
А ведь ещё если транзакциями обмазано, то пиздец

Кому они должны-то?
Пользователю кода.

Ilia
06.08.2018
14:02:50
Пользователю кода.
Ну, вот мне напр. это не надо.

Дед Пегас
06.08.2018
14:03:05
Меня вот реально заебало каждый чих обмазывать try-catch и транзакциями на каждый сраный чих

Anatoly
06.08.2018
14:03:38
Зачем тебе все типы исключений? Чтобы все поймать?
Да, безусловно. Я должен их обработать надлежащим способом, чтобы не положить сервис.

Ilia
06.08.2018
14:03:41
Меня вот реально заебало каждый чих обмазывать try-catch и транзакциями на каждый сраный чих
Так не надо каждый. надо в message loop прописать один стек, и всё. Или в какое-то аналогичное место

Дед Пегас
06.08.2018
14:04:13
Для этого раии придумали кажется
От обмазывания это слабо поможет

Aidar
06.08.2018
14:04:47
Хз, пишу по 2 катча в год

Ilia
06.08.2018
14:05:45
От обмазывания это слабо поможет
Ребята, в конце конов, всё просто. Все программисты делятся на две категории. Кто понимает исключения, и -- все остальные.

Google
Ilia
06.08.2018
14:06:55
Хз, пишу по 2 катча в год
Хотя, если очень сильно мешать C/C++ код, то да, наверное придётся фреймов try писать дофига

Anatoly
06.08.2018
14:07:13
Для этого раии придумали кажется
Поэтому и появляются штуки типа Try, но это близко к ФП, который кому-то тут не нравится

Ilia
06.08.2018
14:07:15
Не, я просто ... не люблю

Дед Пегас
06.08.2018
14:07:26
Да-да, ты расист.

Ilia
06.08.2018
14:07:48
Не, если серьёзно, то нет

Александр
06.08.2018
14:15:10
Тут имеется в виду Try из Скалы, который почти-что Either

Anatoly
06.08.2018
14:15:18
да

Александр
06.08.2018
14:15:57
как try c FP вообще? чисто императивная фигня...
Ну и кроме всего прочего, в Haskell есть исключения...

Ignat
06.08.2018
14:16:09
aka std::expected, о котором нынче всякие Александрески рассказывают

Александр
06.08.2018
14:18:06
Да, открывают Америку

Andrei
06.08.2018
14:25:20
Не. Исключения и Either — это всё таки разные механизмы.

И разные задачи решающие.

Одно другого не отменяет.

yuri
06.08.2018
14:29:49
Это ведь старый холивор. Давайте про JSON забудем, и подумаем над сигнатурой простой функции int div(int a, int b); которая делит a на b. Исключение она должна бросить или errorcode вернуть в случае если b == 0.

isnullxbh
06.08.2018
14:30:34
Исключение ))

yuri
06.08.2018
14:30:39
Один умный дядька сказал, что если функция предполагает, что что-то может пойти не так, то она не должна кидать исключения. Исключения — это для совсем неожиданных вещей.

Alex Фэils?︙
06.08.2018
14:30:41
У него ошибка парсинга - исключительная ситуация
да, бесит, на андроиде кривые исключения

Google
Combot
06.08.2018
14:30:53
Ilia Zviagin (1) увеличил репутацию Yuri Hudobin (1)

Ilia
06.08.2018
14:31:17
yuri
06.08.2018
14:31:55
Один умный дядька сказал, что если функция предполагает, что что-то может пойти не так, то она не должна кидать исключения. Исключения — это для совсем неожиданных вещей.
Александреску как-то сказал, что std::optional сделан ужасно, и что можно сделать лучше и красивее, только вот не сказал как.

Andrei
06.08.2018
14:33:42
Это ведь старый холивор. Давайте про JSON забудем, и подумаем над сигнатурой простой функции int div(int a, int b); которая делит a на b. Исключение она должна бросить или errorcode вернуть в случае если b == 0.
Depends. Если контракт не предполагает, что может быть предан ноль — то это скорее всего exception, после которого нельзя восстановить программу. И вообще можно прерывать задачу с ошибкой. Если контракт функции предполагает любые значения, то можно как возвращать expected, так и кидать исключение.

Alex Фэils?︙
06.08.2018
14:34:19
Что конкретно бесит?
без трай-кетча падает с unhandled exception, с ним - с сегфолтом ?

Andrei
06.08.2018
14:34:47
Что там может предполагать какой контракт?
Есть два типа интерфейсов, проверяющие пользовательский ввод и не проверяющие.

Ilia
06.08.2018
14:34:54
без трай-кетча падает с unhandled exception, с ним - с сегфолтом ?
Это какие-то неправильные пчёлы. И навреняка у них неправильный мёд.

Alex Фэils?︙
06.08.2018
14:35:08
Ilia
06.08.2018
14:35:49
Andrei
06.08.2018
14:36:22
a и b — это ввод.

Входные данные.

Ilia
06.08.2018
14:36:43
Где ты там ввод нашёл, ё?

Azoyan
06.08.2018
14:37:12
Где ты там ввод нашёл, ё?
ну ты же напечатал

Andrei
06.08.2018
14:37:13
У тебя слово ввод это обязательное механическое действие по нажатию на кнопки?

Ilia
06.08.2018
14:37:21
Мы сейчас обсуждаем один маленький оператор! int c = a / b;

Andrei
06.08.2018
14:37:31
И что?

У него может быть разный интерфейс.

Ilia
06.08.2018
14:37:49
И всё.

Страница 2263 из 2477