![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| ivg |
|
||||||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 33 Всего: 81 |
polosatij, то что вы хотите, если я правильно понимаю, вполне может быть реализовано по аналогии с ExceptionHandler'ами, о которых уже упомянул LSD.
Может выглядеть как то так:
|
||||||
|
|||||||
| polosatij |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
ivg, большое спасибо тебе, что ты не поленился написать код
однако твоё решение ничем не отличается от простой инстанции Warning, и последняя даже выходит лучше, если речь идёт о распределённых контейнерах и кластерах.. + статик сюда не катит.. к сожалению, при таком подходе нужно затрачивать слишком много сил, для того, чтоб "подстроить" всю систему на то, чтоб в неё ещё приходили warnings, чем я сегодня и занимаюсь.. думаю, это убьёт у меня ещё завтра.. |
|||
|
||||
| ecologist |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 452 Регистрация: 28.2.2007 Репутация: 2 Всего: 9 |
В таком контексте на мой взгляд это совершенно не требует понятия Warning. В конце концов такие вещи решаются простым выставлением какого-либо кода, который всегда можно проверить. Излишнее усложнение и утяжеление языка не идет ему на пользу. Если посмотреть исходники того же MFC из Visual C++ - это читать уже крайне тяжело. Код должен быть в первую очередь понятен и не перегружен излишними конструкциями. Иногда вижу последствия использования Generic в Java и не всегда это хорошо читаемо и понятно. P.S. Я цикл do .. while использовал последний раз больше года назад, а то и больше. |
|||
|
||||
| polosatij |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
к сожалению ты ошибаешься.. представь себе ситуацию: server <-> логика <-> ejb <-> backing bean <-> jsf теперь, по сути вещей, в ejb есть какая нибудь метода: public ArrayList < FooBar > doSomething(тут 3-7 параметров) throws BarException, FooException {...} по сути дела, ты передашь лист с FooBar в backing bean.. а куда же тут спрятать Warning? оборачивать всё в какой-нибудь Wrapper? |
|||
|
||||
| Dims |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1016 Регистрация: 21.11.2006 Репутация: 4 Всего: 11 |
Можно просто сделать, чтобы функция ВСЕГДА кидала эксепшн, то есть, её штатным режимом было бы возвращение результата через эксепшн. Тогда можно будет возвращать разные типы в зависимости от варнинга, причём если вызывающиего модуля не интересует варнинг, он может не смотреть подтип.
Добавлено через 19 секунд P.S. Кстати, а где есть Warning? |
|||
|
||||
| polosatij |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
так нельзя сделать.. это чистое нарушение семантики.. ------------ в общем, я сделал так:
Aмерику я не открыл и посему продисел 4е дня в обработке warning-ов и возвращающих типов не наю.. не видел.. нигде не пробегал? Это сообщение отредактировал(а) polosatij - 8.10.2008, 21:06 |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
А вы не задумывались о том, что накладные расходы на Exception намного выше, чем на простой вызов метода?
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Dims |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1016 Регистрация: 21.11.2006 Репутация: 4 Всего: 11 |
Почему это? Exception -- это дополнительный канал возврата информации из метода. Разработчики языка решили разбить каналы возврата информации на две группы: основной и дополнительные. Группы всего две. А Вы, фактически, хотите сделать, чтобы их было три. Поскольку больше групп сделать нельзя, я и предложил устранить одну из групп, перейдя к одноранговой системе, управляемой только типами. |
|||
|
||||
| polosatij |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
потому как, 1). читай выше, что сказал LSD 2). Exception - это исключение, кот. говорит, сорри, я ничего сделать на данном уровне не могу, а Warning - это вообще не исключение, оно вообще сюда никаким макаром не катит.. ты в борщ хочешь кинуть яблоки => съесть можно, но уже что-то не то.. |
|||
|
||||
| sith |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 11.2.2007 Репутация: нет Всего: 1 |
прочитав две страницы этой темы прихожу к мнению что все ее участники говорят об одном и том же но с разных филосовских вершин... и не более...
автор приводил пример...
но скажите мне чем это отличаеться от эксепшенов... ... автор приводил пример...
ну если инстанс добавился ... то что миняет в логике программы отсудствие поля А... если это поля критично то варнинг не пойдет а нужно реджектить запрос и все делать заново... если А серверу не важно зачем бросать какойто варнинг ... ... плюс данный скорее всего крик души вылез из того что имееться огромный код... написанный волшебными людьми из страны Оз... который нужно по шурику заставить работать... но мне кажеться создатели языка не должны следовать подобным причинам что бы добавлять разные фичи в язык... тут уж скорее всего нужно больше заниматься рефакторингом и познавать его тонкости и ньюансы... Это сообщение отредактировал(а) sith - 13.10.2008, 17:44 -------------------- Там где ты ставишь глупые смайлики, я вбиваю восклицания знаки!!! |
||||
|
|||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Вообще-то Дрон, уже здесь уже объяснил чем это отличается от Exception. И этот вопрос тоже уже обсуждался. Почитай всю тему, а не только первый пост. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |