Size: a a a

Compiler Development

2020 May 14

AK

Andrei Kurosh in Compiler Development
Gymmasssorla
Понадобиться добавить после throws новое исключение по всей цепочке
Точнее не по всей цепочке, а только до того места, где будет соответствующий catch
источник

Dv

Dr. Friedrich von Ne... in Compiler Development
Andrei Kurosh
Точнее не по всей цепочке, а только до того места, где будет соответствующий catch
Ну, в данном случае это вся цепочка :)
источник

AK

Andrei Kurosh in Compiler Development
Dr. Friedrich von Never
Ну, в данном случае это вся цепочка :)
А ты вообще что считаешь по поводу проверяемых исключений? Они помогают или мешают? Имхо MS их не зря решил не копировать в сишарп из джавы
источник

Dv

Dr. Friedrich von Ne... in Compiler Development
Andrei Kurosh
А ты вообще что считаешь по поводу проверяемых исключений? Они помогают или мешают? Имхо MS их не зря решил не копировать в сишарп из джавы
Я от них никакой пользы в своём продакшен-коде не вижу. И постоянно приходится изобретать костыли, чтобы всё-таки выкинуть исключение из того кода, где, типа, нельзя.
источник

Dv

Dr. Friedrich von Ne... in Compiler Development
В Котлине от этой заразы избавились, и, имхо, к лучшему :)
источник

Dv

Dr. Friedrich von Ne... in Compiler Development
Возможно, проблема в Java-реализации — в том, что все методы по умолчанию считаются как nothrow. Это мешает сильнее всего.
источник

Dv

Dr. Friedrich von Ne... in Compiler Development
Если бы по умолчанию было можно кидать исключения, но можно было бы явно разметить места, откуда я их ну совсем не ожидаю — то думаю, что фича была бы значительно менее назойливой, и более полезной.
источник

Dv

Dr. Friedrich von Ne... in Compiler Development
Ну и код фреймворка должен быть значительно более генерализован по отношению к исключениям.

Ну, грубо говоря, Stream::map(Lambda) должен считаться бросающим исключения, если Lambda их бросает, и небросающим, если не бросает.
источник

AT

Alexey Tkachenko in Compiler Development
Dr. Friedrich von Never
Если бы по умолчанию было можно кидать исключения, но можно было бы явно разметить места, откуда я их ну совсем не ожидаю — то думаю, что фича была бы значительно менее назойливой, и более полезной.
Как в С++? :)
источник

AT

Alexey Tkachenko in Compiler Development
Хотя там тоже изврат с исключениями последнее время
источник

Dv

Dr. Friedrich von Ne... in Compiler Development
Alexey Tkachenko
Как в С++? :)
В C++ с этой точки зрения всё местами хорошо.
источник

Dv

Dr. Friedrich von Ne... in Compiler Development
Очень плохо и ужасно до степени неюзабельности — то, что история с пробросом исключений между границами библиотек и рантаймов не проработана никак.
источник

Dv

Dr. Friedrich von Ne... in Compiler Development
Да, можно сказать, что это не проблема плюсов, а проблема ABI, и это будет правдой. Но при работе с плюсами об этом приходится постоянно задумываться.
источник

BD

Berkus Decker in Compiler Development
акварель на мету
допустим есть обьект O типа Т:
T *O = new T();
и я хочу вызвать конструктор еще раз для этого объекта
placement new. здесь тоже все будут агрессивные - это не чат по основам языка.
источник

BD

Berkus Decker in Compiler Development
^ вот так часто я читаю конпеляторный чят
источник

AT

Alexey Tkachenko in Compiler Development
акварель на мету
допустим есть обьект O типа Т:
T *O = new T();
и я хочу вызвать конструктор еще раз для этого объекта
https://t.me/ProCxx для нормальных вопросов и @supapro для новичковых
источник

BD

Berkus Decker in Compiler Development
placement new считается новичковым или нормальным? 😛
источник

AT

Alexey Tkachenko in Compiler Development
новичковым :)
источник

BD

Berkus Decker in Compiler Development
окей, я бы отнес его уже к довольно продвинутым
источник

AT

Alexey Tkachenko in Compiler Development
к продвинутым новичкам?
источник