powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Почему NullPointerException не проверяемое исключение?
25 сообщений из 190, страница 5 из 8
Почему NullPointerException не проверяемое исключение?
    #39749428
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник, а мне понравился сахар из ссылки, которую я привел:

https://github.com/hgwood/java8-streams-and-exceptions/blob/master/src/test/java/me/hgwood/bulky/BulkyTest.java

Например:

Код: java
1.
2.
3.
4.
5.
6.
7.
@Test public void discarding_returns_all_result_successfully_computed() {
        Collection<URI> result = uris.stream()
            .map(lazy(URI::create))
            .collect(discarding(IllegalArgumentException.class))
            .collect(toList());
        assertThat(result, contains(URI.create(uris.get(0)), URI.create(uris.get(1)), URI.create(uris.get(3))));
    }
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749430
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123забыл ник,
За пример спасибо. Уважаю.
А про goto ты неправ.
Вот тут спорят про что 7 страниц?
...
Используете вы Optional ?
...
Все используют?

да тут особо не спорят, так как использовать исключения или нет и как вернуть результат - вопрос вкусовщины. Просто делятся удобством и своим видением.
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749435
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никЕсли 4 года назад это были Spring, Hibernate, реляционки, то сейчас как минимум в половине случаев это стримы, спарк, ML, nosql и микросервисы и чем дальше, тем процент таких проектов увеличивается.
Реляционки уже сколько хоронят?
Ладно.
Дождемся когда хотя бы тут в форуме процент вырастет.
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749436
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверинда тут особо не спорятугу. Пока я не попросил код и чел обиделся.
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749437
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если взять конкретный случай, что надо все посчитать и вернуть успешно сделанные и ошибку:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
@Test public void throwingAtEnd_throws_an_exception_containing_both_all_successfully_computed_results_and_all_thrown_exceptions() {
        try {
            uris.stream()
                .map(lazy(URI::create))
                .collect(throwingAtEnd(IllegalArgumentException.class));
            fail();
        } catch (FailAtEndCollectException e) {
            assertThat(e.getCauses(), contains(
                instanceOf(IllegalArgumentException.class),
                instanceOf(IllegalArgumentException.class)));
            assertThat(e.getResults(), contains(URI.create(uris.get(0)), URI.create(uris.get(1)), URI.create(uris.get(3))));
        }
    }



вернет все успешное и все фейлы. Прикольно, что из названий сразу понятно, КАК отработает метод..довольно декларативненько.
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749444
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверинзабыл ник, а мне понравился сахар из ссылки, которую я привел:

https://github.com/hgwood/java8-streams-and-exceptions/blob/master/src/test/java/me/hgwood/bulky/BulkyTest.java

Например:

Код: java
1.
2.
3.
4.
5.
6.
7.
@Test public void discarding_returns_all_result_successfully_computed() {
        Collection<URI> result = uris.stream()
            .map(lazy(URI::create))
            .collect(discarding(IllegalArgumentException.class))
            .collect(toList());
        assertThat(result, contains(URI.create(uris.get(0)), URI.create(uris.get(1)), URI.create(uris.get(3))));
    }



Согласен, как по мне то выглядит неплохо. Но с этим подходом(именно в Java) есть один косяк, именно из-за checked exceptions. Почитать можно тут - https://www.baeldung.com/java-sneaky-throws И проблема тут не в том, что некоторые нужные checked exception подавляются(ибо я против них в принципе), но то что код становится так сказать неконсистентным. Ну это лирика.
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749445
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
просто совпало (сегодня на почту пришло почитать)
https://medium.com/@johnmcclean/dysfunctional-programming-in-java-5-no-exceptions-5f37ac594323
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749448
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123забыл никЕсли 4 года назад это были Spring, Hibernate, реляционки, то сейчас как минимум в половине случаев это стримы, спарк, ML, nosql и микросервисы и чем дальше, тем процент таких проектов увеличивается.
Реляционки уже сколько хоронят?
Ладно.
Дождемся когда хотя бы тут в форуме процент вырастет.
Опять узко смотришь. Реляционки никуда не уйдут, просто они будут работать в конкретных кейсах. На большинстве проектов вполне стандартной является ситуация когда юзают реляционку, Cassandra, kafka и redis какой-нибудь - и хадуп\спарк для аналитики но уже в warehouse. Мир не стоит на месте.
Вообще мейнстрим сейчас вроде как event sourcing и derivative systems. Схема такая - в систему приходят команды, они валидируются и если все ок, то создаются ивенты, эти ивенты рассылаются в производные системы аля реляционка, elsticsearch и message broker, которыевыступают по факту в качестве materialized views с предпоготовленными данными для определенных типов query
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749451
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никкуда деть тучу spring-еров
А спринг тоже что ли... Уже всё? Поясни плиз.
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749457
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никСхема такая - в систему приходят команды, они валидируются и если все ок, то создаются ивенты, эти ивенты рассылаются в производные системы аля реляционка, elsticsearch и message broker,разумеется есть специализация.
Я более грубо делил на прикладников и системщиков.
Вот прикладники программисты и не перейдут никогда на noSQL и микросервисы.
А прикладники это большой процент.
Ты огульно их goto обозвал.
Со стримами позже увидим. Они особый подход требуют.
Ака linq в шарпе.
Тут я не категоричен.
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749458
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123забыл никкуда деть тучу spring-еров
А спринг тоже что ли... Уже всё? Поясни плиз.

Нет, конечно. Spring Boot пока в тренде, да и в принципе spring начинет переходить на reactive way. Но, на мой взгляд, это как оракл бы вдруг решил стать nosql. Какое-то применение все это найдет, сособенно учитывая тонну javистов и на первых порах, но в перспективе я ставлю что его популярность будет сходить и на смену должен придти другой инструмент. Hibernate когда то тоже казался могучим и непоколебимым
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749459
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник, event source`инг может и мейнстрим, но в 99% случаев он будет является оверхедом для корпоративных систем. Слишком сложен он.
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749464
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
llemingпросто совпало (сегодня на почту пришло почитать)
https://medium.com/@johnmcclean/dysfunctional-programming-in-java-5-no-exceptions-5f37ac594323

Ну вот именно об этом я и говорю
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749467
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин,
Согласен, сложен он)
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749469
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никPetro123пропущено...

А спринг тоже что ли... Уже всё? Поясни плиз.

Нет, конечно. Spring Boot пока в тренде, да и в принципе spring начинет переходить на reactive way. Но, на мой взгляд, это как оракл бы вдруг решил стать nosql. Какое-то применение все это найдет, сособенно учитывая тонну javистов и на первых порах, но в перспективе я ставлю что его популярность будет сходить и на смену должен придти другой инструмент. Hibernate когда то тоже казался могучим и непоколебимым

да ну как-то я сомневаюсь. Спирнг 2.0+ - впитал в себя реактив вэй - стал чрезвычайно легковесным, перешел на нетти дефолтом, очень прост. Его то толком и заменить нечем в продакшене.
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749474
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Со стримами позже увидим. Они особый подход требуют.
Ака linq в шарпе.
Тут я не категоричен.

на стримы все перейдут - все таки декларативный (хотя бы вид) кода много облегчает его понимание.

конструкция вида list.map.collect понятнее и безопаснее, чем итерирование по коллекциям с вопросом "что же там в цикле происходит такое?".
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749476
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думаю, цикл смены технологий это лет 5 минимум.
Вот и считаем.
Причем, 100 процентов в прошлые 5 лет никто не угадал что есть сейчас)).
Поэтому и сейчас, поосторожнее с прогнозами).
Имхо.
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749478
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверинна стримы все перейдутне верю.
В шарпе на linq все перешли?
30 - 50%, но потом опять новое подошло.
Счас аналог апплетов готовят webAssembly)))
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749482
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Озверинна стримы все перейдутне верю.
В шарпе на linq все перешли?
30 - 50%, но потом опять новое подошло.
Счас аналог апплетов готовят webAssembly)))

причем тут linq? Если ты думаешь, что стримы сложные для освоения - срочно погугли, освой их за 1-2 часа достаточно, чтобы забыть о сложности.
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749484
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин,
Если ты знаешь linq, то это то же самое. Разве нет?
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749486
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
оциОзверинзабыл ник, event source`инг может и мейнстрим, но в 99% случаев он будет является оверхедом для корпоративных систем. Слишком сложен он.
Тут все гораздо сложнее. Надо учитывать несколько факторов
1) Я имею ввиду именно корпорации, а не Рога и Копыта с учеткой продаж. Во втором случае конечно это overkill
2) Мейнстрим это не значит only one way, и в данный момент идет практическое распознвание ограничений и преимуществ этой модели,как когда-то это было с nosql, бигдата и тд
3) Учитывай что тулы и техники для cqrs\event sourcing не так совершенны и обкатаны. Сама идея то простая до безобразия. Вся сложность техническая.
4) Если брать корпорации или высоконагруженные приложения, то основная проблема в неконсистентности моделей данных, вытекающие из распределнности приложений и требований availability\failover. Сложность поддержки систем в консистентном состоянии намного превышает сложность разработки event-sourcing приложений. Двумя большими плюсами являются a) у нас есть один source of true в системе б) то что система хранит историю, и ее можно "проиграть" заново, в случае ошибки или изменения бизнес логики. В случае традиционных систем - данные это некий снепшот, который ни откатить ни проиграть заново не получится.
5) Большинство инфраструктур уходит в облако и опять же это накладывает некоторые ограничения на стандартную модель.

В целом я ожидаю появления инструментов интеграции, в которых декларативно описывается воркфлоу - ивент приходит в систему и идет туда-то, создает такой-то индекс для такого тоquery, сюда идет бэкап. Тут вот стриминг и батч аналитика и тд. Но все данныепо факту производные от первоначального ивента и это отметает кучу проблем, с которыми сталкиваются современные системы. Но это лишь my view конечно же
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749487
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Озверин,
Если ты знаешь linq, то это то же самое. Разве нет?

э - совершенно другое. Это про функциональный стиль работы с коллекциями в яве.
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749488
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверинlist.map.collect понятнее и безопаснее, чем итерирование по коллекциям с вопросом "что же там в цикле происходит такое?".
Я не против твое строчки.
Это всего пребразование и филтрация коллекции.
Аналог linq в шарпе.
А бизнес логику в for куда девать?
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749492
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин
да ну как-то я сомневаюсь. Спирнг 2.0+ - впитал в себя реактив вэй - стал чрезвычайно легковесным, перешел на нетти дефолтом, очень прост. Его то толком и заменить нечем в продакшене.

Ну я всего лишь выразил свое мнение, как оно будет посмотрим)
...
Рейтинг: 0 / 0
Почему NullPointerException не проверяемое исключение?
    #39749495
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Озверинlist.map.collect понятнее и безопаснее, чем итерирование по коллекциям с вопросом "что же там в цикле происходит такое?".
Я не против твое строчки.
Это всего пребразование и филтрация коллекции.
Аналог linq в шарпе.
А бизнес логику в for куда девать?

можно в анонимных функциях описывать внутри, можно выносить в отдельные ф-ии - все тоже самое, что и for, только "переходные" фазы(map, collect) описаны в декларативном виде, а значит итог выполнения конструкции гораздо прозрачнее.
...
Рейтинг: 0 / 0
25 сообщений из 190, страница 5 из 8
Форумы / Java [игнор отключен] [закрыт для гостей] / Почему NullPointerException не проверяемое исключение?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]