Страница 1 из 3
Знатоки Джава - ау!
Добавлено: 28 май 2010, 11:13
Stanislav
Сейчас есть вот такой код:
Код: Выделить всё
Socket outSock = null;
try {
// that runs on the port 1600
// create the socket on Baker
outSock = new Socket("baker2.alphatrade.com",1600);
} catch(Exception e) {
out.println("<p align=center><font color=lime size=4> There was an error connecting to Alphatrade's authorize service on baker2.alphatrade.com:1600. Please contact Robert G. Jakabosky <br>");
out.println(e+"</font></p>");
}
Надо вот так:
Код: Выделить всё
Socket outSock = null;
try {
// that runs on the port 1600
// create the socket on Baker
outSock = new Socket("baker2.alphatrade.com",1600);
} catch(Exception e1) {
try {
// create the socket on Rainier
outSock = new Socket("rainier2.alphatrade.com",1600);
} catch(Exception e2) {
out.println("<p align=center><font color=lime size=4> There was an error connecting to Alphatrade's authorize service on baker2.alphatrade.com:1600 and rainier2.alphatrade.com:1600. Please contact SysAdmin <br>");
out.println(e+"</font></p>");
{
}
Как бы это по-красивее написать?
Re: Знатоки Джава - ау!
Добавлено: 28 май 2010, 11:50
aissp
ужос
Код: Выделить всё
bool func("dns_name") {
bool ret = false;
try{"connect nah" ret = true;}
catch{ ret = false;}
return ret;}
все таки почти всегда исключения зло
Re: Знатоки Джава - ау!
Добавлено: 28 май 2010, 14:07
Stanislav
Да, забыл сказать - этот весь код - jsp.
Re: Знатоки Джава - ау!
Добавлено: 28 май 2010, 14:16
Marmot
Stanislav писал(а):Да, забыл сказать - этот весь код - jsp.
Тогда и так сойдет...
PS Уходи оттуда, не жильцы они, с таким-то подходом...
Re: Знатоки Джава - ау!
Добавлено: 28 май 2010, 14:27
Stanislav
Marmot писал(а):Stanislav писал(а):Да, забыл сказать - этот весь код - jsp.
Тогда и так сойдет...
PS Уходи оттуда, не жильцы они, с таким-то подходом...
Да я все пишу, пишу... Даже в Викторию пишу... Но тщетно...

Re: Знатоки Джава - ау!
Добавлено: 28 май 2010, 22:52
buba
Stanislav писал(а):Сейчас есть вот такой код:
[/code]
Как бы это по-красивее написать?
Избавтесь от try/catch brackets. И вообще что это за программирование на error path? Malformed!
Re: Знатоки Джава - ау!
Добавлено: 29 май 2010, 08:02
Marmot
buba писал(а):
Избавтесь от try/catch brackets. И вообще что это за программирование на error path?
А как надо?
Re: Знатоки Джава - ау!
Добавлено: 02 июн 2010, 01:25
buba
Marmot писал(а):buba писал(а):
Избавтесь от try/catch brackets. И вообще что это за программирование на error path?
А как надо?
К сожалению стиль этот (на исключениях) популярен и в С++. И все бы ничего да вот семантика подкачала. Ошибка это не исключение или если быть точнее это специальный класс ошибок. К тому же термин этот коррелируется с существующей терминологией в компютерной архитектуре.
Что касается кода то в данном случае это всего лишь возможный сценарий успешного соединения (смотри выше) следователно, не очень уместно всовывать это в try{}catch.
Короче не так важно все это для Java и C#. Просто выглядет тупо хотя и будет работать.
Re: Знатоки Джава - ау!
Добавлено: 02 июн 2010, 06:41
Stanislav
buba писал(а):Marmot писал(а):buba писал(а):
Избавтесь от try/catch brackets. И вообще что это за программирование на error path?
А как надо?
К сожалению стиль этот (на исключениях) популярен и в С++. И все бы ничего да вот семантика подкачала. Ошибка это не исключение или если быть точнее это специальный класс ошибок. К тому же термин этот коррелируется с существующей терминологией в компютерной архитектуре.
Что касается кода то в данном случае это всего лишь возможный сценарий успешного соединения (смотри выше) следователно, не очень уместно всовывать это в try{}catch.
Короче не так важно все это для Java и C#. Просто выглядет тупо хотя и будет работать.
Ну так вы напишите как надо

А то слов много умных - я ничего не понял...

Re: Знатоки Джава - ау!
Добавлено: 02 июн 2010, 07:14
Правильные пацаны
Stanislav писал(а):
Ну так вы напишите как надо

А то слов много умных - я ничего не понял...

эксепшен - нормально в джаве.
Токо это - правильные пацаны ставят наверху один обработчик ошибок и там все ловят и печатают ошибки.
Форматировать вывод внутри каждой ошибки - (no offence) - читать тут:
http://lurkmore.ru/%D0%91%D1%8B%D0%B4%D ... 0%B5%D1%80
если ловить все наверху (бросать специальный эксепшен с кодом ошибки), можно и i18n сделать.
Хотя правильные пацаны пользуются фреймворками, которые "оберегают мозг хомячка" (с) и все i18n делают сами
Re: Знатоки Джава - ау!
Добавлено: 02 июн 2010, 08:13
Stanislav
Правильные пацаны писал(а):Stanislav писал(а):
Ну так вы напишите как надо

А то слов много умных - я ничего не понял...

эксепшен - нормально в джаве.
Токо это - правильные пацаны ставят наверху один обработчик ошибок и там все ловят и печатают ошибки.
Форматировать вывод внутри каждой ошибки - (no offence) - читать тут:
http://lurkmore.ru/%D0%91%D1%8B%D0%B4%D ... 0%B5%D1%80
если ловить все наверху (бросать специальный эксепшен с кодом ошибки), можно и i18n сделать.
Хотя правильные пацаны пользуются фреймворками, которые "оберегают мозг хомячка" (с) и все i18n делают сами
Я не программер - я сисадмин, джаву я уже почти не помню, но мне надо быстро пофиксить платежный интерфейс, чтобы освободить старый сервак от сервисов и заюзать его на что-нить хорошее. Попутно хотелось бы добавить некую отказоустойнчивость - посему забабахал два гейтвея к платежной системе на двух серваках. Потому и написал сюда, может есть какой-то стандартный выворот на такой случай. Наверху я поставить ничего не могу - это jsp.
Но на самом деле - похоже вообще жопа - есть еще одна платежная джава приблуда - для массового чарджа клиентов - запускается ежедневно кроном, исходняков не могу найти нигде...

Re: Знатоки Джава - ау!
Добавлено: 02 июн 2010, 09:15
Marmot
Stanislav писал(а):
Но на самом деле - похоже вообще жопа - есть еще одна платежная джава приблуда - для массового чарджа клиентов - запускается ежедневно кроном, исходняков не могу найти нигде...

И неужели в этом тоже виноват программист?
Re: Знатоки Джава - ау!
Добавлено: 02 июн 2010, 09:17
Marmot
buba писал(а):
Короче не так важно все это для Java и C#. Просто выглядет тупо хотя и будет работать.
Я не понял, слив засчитывать или как?
Re: Знатоки Джава - ау!
Добавлено: 02 июн 2010, 12:00
aissp
Граждане

(1) операция коннект достаточно редкое явление, перформанс тут нах не нужна, нужно чтобы код понятен был
(2) Насколько я знаю в жаве в с шарпе ето общий способо ловить все ошибки да же те которые ими не являются
(3) отсутвие коннекта на сервер ощибкой вобщем то не является, скорее штатная ситуация
исходя из етого я и упокавал все ето в функцию, чтобы наружу н еторчала и не было вложенных try catch которые плохо читаются и еще хуже спопровождаются, поскольку имееет тенденцию перетекать на дргугой екран (если на один). вобщем то и все
Критика принимается, так как в етих языках я полупрофан

Re: Знатоки Джава - ау!
Добавлено: 02 июн 2010, 12:17
Marmot
aissp писал(а):
Критика принимается, так как в етих языках я полупрофан

С этого надо было начинать, ты всей жопности ситуации не просек: "этот весь код - jsp"

Я продолжаю настаивать на своем решении, что и так сойдет и рвать оттуда когти как можно быстрее...
