powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Delphi vs Java2
25 сообщений из 201, страница 3 из 9
Delphi vs Java2
    #33359639
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЭто был бы замечательный принцип, если бы он всегда работал. Но тогда, когда он работает по принципу "здесь играем, здесь не играем, а здесь рыбу заворачивали", проще вставить в шаблон метода throws Throwable и не париться. Догадываетесь, почему Throwable? Потому если если вставить throws Exception, то программа таки будет падать - именно падать, пролетая сквозь вроде бы правильные блоки catch.

По поводу "вставить в шаблон метода throws Throwable" это вы опять загнули. Объясню почему. В жабе есть три вида ошибок, 1-ый, наследники от Error, посмотрите в "малополезном" JavaDoc, какие это ошибки и объясните мне зачем их перехватывать? Кстати, вот что в javaDoc про них описано - " A method is not required to declare in its throws clause any subclasses of Error that might be thrown during the execution of the method but not caught, since these errors are abnormal conditions that should never occur. ". 2-ой тип ошибок, это наследники от RuntimeException, они более "легкие", но все же носят системный характер и появляются на 100% от кривых рук. 3-й тип, это те самые наследники Exception, они относятня к бизнес логики и их возникновение и обработка вполне нормальное явление. Такое разбиение на типы, мне кажется вполне логичным, т.к. например 1-ые два типа ошибок, должны быть ликвидированы полностью на этапе тестирования, при чем я даже уверен, что это можно сделать, перехватить их конечно можно, но дела это особо не поправит, например NullPointerException, если он возник, то это баг в логике, который надо немедленно фиксить, если вы его перехватите, то максиму, что можно сделать, это удалить все данные пользователя и вежливо попросить его их вбить еще раз.

По поводу вашик придирок к выводу стек трейса в консоль, не пойму чем вы не довольны и при чем здесь жаба и throws вообще. Если ошибки летят в консоль, значить есть блок catch и в нем как минимум такое - exception.printStackTrace(System.out). Т.е. жаба не позволит не обработать ошибки! А почему программер вывел стек в консоль а не в лог, это спросите у него. Тут может быть только одна беда, если оставите блок catch пустым, то ошибку можно искать годами :))

Все выше сказанное, указывает на то, что в жабе более мощная и продуманная система возникновения и обработки ошибок (как следствие более сложная), которая просто заставляет программиста писать более качественно обработку ошибок, а вот в случае делфи, думать обо все этом не надо, действительно, а зачем? Ведь у уюзера само выскочит окошко об ошибке...

Кстати, слышал от делфистов перешедших на жабу, что жабий стек трейс им очень по душе пришелся.
...
Рейтинг: 0 / 0
Delphi vs Java2
    #33359785
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jdev333То что есть throws в методе - подсказывает программисту о возм-х исключениях
OK. Фрагменты кода из JDK:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
     public  TreePath pathByAddingChild(Object child) {
	 if (child ==  null )
	     throw   new  NullPointerException("Null child not allowed");

     public   void  setModel(ListModel model) {
         if  (model ==  null ) {
             throw   new  IllegalArgumentException("model must be non null");

Итого: абсолютно одна и та же проблема, разве что во втором случае глупо регистрировать исключение. Исключения - разные. Подсказки в виде throws - нет. Все очень удобно и логично.

jdev333и программно задает (а это уже нельзя) логику поведения метода и т.д.
Не очень понял эту фразу. Вы имеете в виду то, что IDE умеет сгенерить вокруг вызова метода соответствующий набор catch-ей? Сама по себе нормальная фича, но зачем ради этого усложнять язык - не понимаю; эту информацию нужно хранить во вспомогательных файлах (и не говорите, что без этого компилятор не разберется).

Директива throws обязывает программиста явно задать логику обработки указанных исключений. Что было бы хорошо, если бы было всеобъемлющим; в ситуации же, когда нужно обрабатывать не только эти исключения, та же фича автоматического генерирования catch-ей только ухудшает ситуацию (поскольку неопытный программист считает, что нажал кнопку - и обработка ошибок сделана).

jdev333И в javadoc это отображается (автоматом) и в коде программы. И нет никакого влияния документации на жабу - ясное передергивание.
Ясное? Ну так и обратитесь с ним к тому, кто это передергивание допустил, а теперь в теме не участвует. Я охарактеризовал такую модель рассуждений значительно мягче, а теперь Вы почему-то приписываете ее мне.

jdev333И Вы сами это понимаете, но прикидываетесь.
Ваши телепоаналитические способности, похоже, несколько уступают горячности.

jdev333Придраться к толкованиям формы рассуждений (типа тут бы нуна вместо javaDoc сказать о сыпцах)- так себе занятие.
Я, в отличие от Вас, не думаю за собеседника, в частности, "что он должен сказать". Думать так - значит, априори считать себя умнее собеседника, а если так считать - зачем с ним говорить? Вместо этого я надеюсь иногда встречать собеседников, с которыми можно поговорить как со взрослыми разумными людьми. http://softwarer.ru/about.html#Topic

jdev333А, вообще, забавно. Вы открыли мне глаза. Я-то думал, что Delphi - старый недобрый Паскакаль, а там, оказывается, что-то полезное появилось. Но не все :)
Хм. Да в общем-то я тоже заметил, что в этой теме в основном занимаюсь ликбезом. Мало того, я давно знаю, что невиданную мощь новых технологий превозносят в основном люди с весьма узким кругозором; скажем, трудно восторженно говорить об ООП-революции, если знать, что ООП является удобной синтаксической надстройкой над так называемым "модульным программированием" конца шестидесятых - начала семидесятых годов.

Полезности в яве конечно тоже есть, но меня не перестает удивлять тот набор глупостей, под которыми они похоронены. При использовании явы у меня не исчезает ощущение отката лет на десять-пятнадцать.
...
Рейтинг: 0 / 0
Delphi vs Java2
    #33359804
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkSquidА самое прикольное, что в Дельфи эксепшины из разных мест программы выглядят абсолютно одинаково
На экране. Поскольку стектрейс мягко говоря мало что скажет обычному пользователю, если вывалить его на экран. Ну а что касается остального - уровень Вашего знания дельфы виден и в предыдущих письмах, незачем усиливать это впечатление.
...
Рейтинг: 0 / 0
Delphi vs Java2
    #33359849
jdev333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я, в отличие от Вас, не думаю за собеседника, в частности, "что он должен сказать". Думать так - значит, априори считать себя умнее собеседника, а если так считать - зачем с ним говорить? Вместо этого я надеюсь иногда встречать собеседников, с которыми можно поговорить как со взрослыми разумными людьми. http://perehodnalichnosti.ru/about.html#Topic

Ага. Как же не думаете, когда вменяете смысл о влиянии javaDoc на java?
Не свидетельствовала "та" wessen-а фраза об этом. Никак.

softwarerПри использовании явы у меня не исчезает ощущение отката лет на десять-пятнадцать.

При использовании явы должно было появиться ощущение неприятия проприетарности в др платформах, ибо платформа java развивается на открытых стандартах.
...
Рейтинг: 0 / 0
Delphi vs Java2
    #33359895
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
OK. Фрагменты кода из JDK:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
    public TreePath pathByAddingChild(Object child) {
	if(child == null)
	    throw new NullPointerException("Null child not allowed");

    public void setModel(ListModel model) {
        if (model == null) {
            throw new IllegalArgumentException("model must be non null");


автор
Итого: абсолютно одна и та же проблема, разве что во втором случае глупо регистрировать исключение. Исключения - разные. Подсказки в виде throws - нет. Все очень удобно и логично.


действительно, все удобно и логично, т.к. эти ошибки не должны возникать в уже отлаженной программе, в идиале вобще никогда. Эти ошибки не бизнес уровня, поэтому, нагружать их в throws не совсем логично.
...
Рейтинг: 0 / 0
Delphi vs Java2
    #33359904
Фотография DarkSquid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerЧтобы не расписывать, отмечу, что кроме стектрейса, у меня есть еще один простой путь - взять из VCS-а map-файл и в нем увидеть строку (файл и номер), при исполнении которой вылетела ошибка.
Собственно, если бы Вы когда-нибудь попробовали, например, MemCheck (это удобный вспомогательный файл, разработанный парой швейцарских студентов), то увидели бы, что он выдает трейс без всякого исключения (сообщает, например, "вовремя не освобожден указатель такой-то, выделенный там-то").


Да что Вы мне сказки рассказываете? Я превосходно знаю, как поддержка программ на Дельфи осуществляется. Там пробел в редакторе отчётов в запросе лишний поставишь - и эксепшин вылетает. И никто это годами не фиксит. А что такое VCS я не знаю, и как мне MemCheck использовать для инвестигации той ошибки, которая уже произошла у кастомера, ума не приложу. И считаю, что окошко вывести на экран с сообщением об ошибке - это не проблема. И кастомеру что не интересно знать, так это не стектрейс, кторый поможит быстрее пофиксить ошибку, а вот именно сообщение о том, что программа не может прочесть адрес в памяти не интересно кастомеру знать. И программисту оно ничего не скажет.
...
Рейтинг: 0 / 0
Delphi vs Java2
    #33359921
Фотография DarkSquid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Код: plaintext
String value = textField.getText().toUpperCase();


Softwarer, вы чепуху пишете. Поймите, что если я знаю, что эксепшин произошёл именно здесь, я смогу посмотреть и остальные куски программы, узнать какого класса была переменная textField и была ли она проинициализирована.
...
Рейтинг: 0 / 0
Delphi vs Java2
    #33359954
Фотография DarkSquid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerЧтобы не расписывать, отмечу, что кроме стектрейса, у меня есть еще один простой путь - взять из VCS-а map-файл и в нем увидеть строку (файл и номер), при исполнении которой вылетела ошибка.

Ну Softwarer , в самом деле! Вы как будто бы багов не фиксили никогда...
Важна не строка с ошибкой, но и контекст, в котором эта строка была вызвана. Контекст, понимаете. Весь. Целиком. Из какой именно процедуры эта строчка дёргалась.
Лучше всего, чтобы программа в кору дампилась. Но Дельфиские программы в кору не дампятся, насколько я знаю.
...
Рейтинг: 0 / 0
Delphi vs Java2
    #33359982
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessenОбъясню почему. В жабе есть три вида ошибок, 1-ый, наследники от Error, посмотрите в "малополезном" JavaDoc, какие это ошибки и объясните мне зачем их перехватывать?
Как минимум - для того, чтобы записать в лог хоть какую-либо информацию о том, почему вывалилась программа. Впрочем, отвечу цитатой из того же javadoc-а: An application should catch instances of this class only if it must clean up after being terminated asynchronously.

wessenТакое разбиение на типы, мне кажется вполне логичным,
Так как Вы описали, все логично. Нелогично с моей точки зрения делать RuntimeException потомком просто Exception, наравне с кучей других, впрочем с точки зрения единой их обработки это скорее удобно.

wessenт.к. например 1-ые два типа ошибок, должны быть ликвидированы полностью на этапе тестирования,
Хм. Боюсь, я слишком прагматик, чтобы разговаривать об идеалах. Помнится, кто-то из классиков, кажется Дейкстра, показал, что для доказательства правильности некоей программы из двух десятков строк (то есть отсутствия в ней ошибок) требуется доказать порядка сорока лемм.

Заодно - расскажите, пожалуйста, как действовать, когда эти типы ошибок сыплятся из библиотеки без исходников, причем саму библиотеку нельзя не использовать.

wessenпри чем я даже уверен, что это можно сделать, перехватить их конечно можно, но дела это особо не поправит, например NullPointerException, если он возник, то это баг в логике, который надо немедленно фиксить, если вы его перехватите, то максиму, что можно сделать, это удалить все данные пользователя и вежливо попросить его их вбить еще раз.
Хм. И Ваши пользователи такое терпят?

Простой пример - этот NullPointerException может возникать, например, при обновлении информации в статусбаре. И если я скажу им "у меня тут проблема в отрисовке статусбара, поэтому я похерил вашу работу", они скорее всего пойдут к моему начальству рассказывать, что за двести-триста тысяч зеленых рассчитывали получить программу получше.

wessenПо поводу вашик придирок к выводу стек трейса в консоль, не пойму чем вы не довольны и при чем здесь жаба и throws вообще. Если ошибки летят в консоль, значить есть блок catch и в нем как минимум такое - exception.printStackTrace(System.out). Т.е. жаба не позволит не обработать ошибки! А почему программер вывел стек в консоль а не в лог, это спросите у него.
Угу. Вот я и спрашиваю у авторов свинга - какого хрена их исключения лезут в консоль.

wessenТут может быть только одна беда, если оставите блок catch пустым, то ошибку можно искать годами :))
Угу. Эту беду я пока что вычищаю из исходников чуть ли не каждый день - даже человек, которому вроде бы десять раз объяснял, почему такого не надо делать, на одиннадцатый делает "вроде бы не помешает и удобно".

На дельфе - иногда приходилось объяснять. Раз пять за десять лет.

wessenВсе выше сказанное, указывает на то, что в жабе более мощная и продуманная система возникновения и обработки ошибок
Я пока что не вижу ничего, что на это указывало бы. Чтобы оперировать сравнительными характеристиками, Вам нужно показать "вот это есть".. "вот этого нет".. "вот это лучше".. Пока что Вы просто выдали некую общеизвестную информацию и попытались ответить на то, что я считаю недостатками жабы в плане исключений.

wessen (как следствие более сложная), которая просто заставляет программиста писать более качественно обработку ошибок,
Неверное утверждение.

Заставляет писать - в какой-то мере. В какой-то - потому что IDE только и делают, что автоматизируют этот процесс в силу своего убогого разумения. Сложная, неформализуемая задача - обработка ошибок - отдается на откуп тупейшему коду.

Более качественную - чушь. От того, что программист нажмет кнопку "Surround with try..catch" и сгенерит что-нибудь типа

Код: plaintext
1.
2.
3.
4.
5.
6.
    try  {
     FileInputStream in =  new  FileInputStream (AppConsts.CfgFileName);
   }
    catch  (FileNotFoundException e) {
     e.printStackTrace (System.err);
   }

ничего качественного не случится, строго наоборот.

wessenа вот в случае делфи, думать обо все этом не надо, действительно, а зачем? Ведь у уюзера само выскочит окошко об ошибке...
Правильно. Основная мысль дельфы - программист может сосредоточиться на ключевых аспектах программы, например, на ошибках, которые надо обрабатывать, и не должен тратить время на третьестепенные глупости.

Тот же пример кода выше - в том месте, где я читаю файл конфигурации, мне малоинтересен этот FileNotFound. На самом деле у меня много выше по стеку вызовов вылетит примерно следующее:

Код: plaintext
1.
2.
3.
4.
5.
6.
Ошибка!

Не удалось прочитать сохраненную конфигурацию программы.
Файл не найден.
Будут использованы настройки по умолчанию.

Файл конфигурации: x:\y\z.txt

Сделать такое в жабе - можно, и делаю, но это требует дополнительной по сравнению с дельфой работы.

wessenКстати, слышал от делфистов перешедших на жабу, что жабий стек трейс им очень по душе пришелся.
Я никак не пойму, чем же он лучше дельфового. Мне, кстати, он не нравится тем, что getOurStackTrace() приватен, то есть с ним нельзя поработать без извращений, напрямую (правда, может я и не увидел какого-то пути - долго не искал, написал с извращениями).

P.S. Прощу прощения, джентльмены, но я сейчас уезжаю и не уверен, что смогу продолжить беседу раньше 9-го числа.
...
Рейтинг: 0 / 0
Delphi vs Java2
    #33360002
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkSquidНу Softwarer , в самом деле! Вы как будто бы багов не фиксили никогда... Важна не строка с ошибкой, но и контекст, в котором эта строка была вызвана. Контекст, понимаете.
Вы слово "кроме" читать умеете? Есть трейс, есть и более простой и менее мощный способ. Как человек, который фиксил прорву багов, Вы не можете не знать, что для многих ошибок и без контекста понятно, в чем дело. Скажем - какой контекст Вам нужен для ответа на тот мой пример, на который Вы так и не ответили?

Насчет дампа ядра - я бы сказал, это последний рубеж. Пока что не припомню ошибки, для которой мне потребовалось бы столь масштабное средство; пока хватало продуманной отладочной печати.
...
Рейтинг: 0 / 0
Delphi vs Java2
    #33360015
jdev333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как насчет открытых стандартов- это все же получше проприетарности.
...
Рейтинг: 0 / 0
Delphi vs Java2
    #33360035
Фотография DarkSquid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerВы слово "кроме" читать умеете? Есть трейс, есть и более простой и менее мощный способ. Как человек, который фиксил прорву багов, Вы не можете не знать, что для многих ошибок и без контекста понятно, в чем дело. Скажем - какой контекст Вам нужен для ответа на тот мой пример, на который Вы так и не ответили?

Ну не собираюсь я на это отвечать. Детский сад какой-то. Это ж очевидно и потому только на собеседовании уместно. Если есть стек трейс - так бы и сказали бы, что есть, что дампится он там куда-то. Надо будет - посмотрю. А так - всё равно на чём писать - что Delphi, что java.

P.S.

с тем, что ГУИ на java идиотизм - не согласен.
...
Рейтинг: 0 / 0
Delphi vs Java2
    #33360090
Фотография DarkSquid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По сабжу (почти) есть очень старое сравнение трёх языков:-

Delphi,C++,Java
...
Рейтинг: 0 / 0
Delphi vs Java2
    #33360842
Ewg_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jdev333 Не понял. Зачем отдельный сервер для отчетов?
не знаю. ресурсы жрет, сабака :)
jdev333 Жаба "не требует", вообще, никаких серверов.
эээ... а как она без апп сервера?
довод выбравших жаву (кстати не надо ее жабой называть, жаба - это мой любимый TOAD!!) - мол на клиенте ничего ставить не надо, развертывание приложений и новых версий = 0 ресурсов
jdev333у Delphi нету апп-сервера. А это серьезный минус для более-менее немаленьких сложных проектов.
Соответствующие "+-" 3-х звенок для больших проектов описаны в соотв-х местах - мона их щас не обсуждать.
у дельфи есть 3-ка.
кстати где почитать о ее плюсах ?
только имеет ли она смысл при 30 пользователях?
jdev333 GUI на Delphi писать - вполне нормально.
На жабе хороший "нетормозной" GUI - мона, но займет больше ресурсов.
вот собственно я и спрашиваю, где взять факты (или исследования) для аргументации такой позиции?
...
Рейтинг: 0 / 0
Delphi vs Java2
    #33360908
Фотография DarkSquid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотрите, что есть:-

JX

Код: plaintext
1.
2.
3.
4.
JX enables Delphi in Java enterprise environments to have the best of both worlds: 

RAD application development with rich GUI applications. 
RAD access to J2EE EJBs. 

J2EE App Server + Delphi GUI.
...
Рейтинг: 0 / 0
Delphi vs Java2
    #33360922
Ewg_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessen в жабе более мощная и продуманная система возникновения и обработки ошибок
насчет возникновения - это вы абсолютно правы !!! :) :) :)
для обработки ошибок в дельфи есть абсолютно все, что есть в жаве. только у большинства программистов НЕТ НУЖДЫ этим пользоваться, а жаве - ПРИХОДИТСЯ.
wessenКстати, слышал от делфистов перешедших на жабу, что жабий стек трейс им очень по душе пришелся.
угу. потому что в дельфи половина ошибок, которые в жаве выскакивают в ран-тайме, отлавливается в дизайн-тайме.
улавливаете суть?

на практике я сталкиваюсь с ошибками в жаве, когда пользователь звонит, говорит, что что-то не работает, заходишь в процессы - там висит 10-15 сессий этого пользователя, пытающихся сделать одну и ту же задачу - всё потому, что пользователь не видя ошибки тыкает на кнопку, отжирая ресурсы у себя и сервера...
причем кнопка ни хрена не блокируется, ожидая выполнения тяжелой команды (как в дельфи)
...
Рейтинг: 0 / 0
Delphi vs Java2
    #33360933
Фотография DarkSquid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ewg_причем кнопка ни хрена не блокируется, ожидая выполнения тяжелой команды (как в дельфи)

Там весь интерфейс блокируется, на самом деле. Чтобы не блокировалось надо в отдельной треде ручками пускать.
...
Рейтинг: 0 / 0
Delphi vs Java2
    #33360938
Ewg_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 softwarer:

да, нелегко вам тут пришлось... :)
сэнкс.

всё таки, не ужто нигде не проводились "официальные" сравнения.
вон для Оракле и SQL-сервера можно найти...
...
Рейтинг: 0 / 0
Delphi vs Java2
    #33360941
Ewg_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkSquid Ewg_причем кнопка ни хрена не блокируется, ожидая выполнения тяжелой команды (как в дельфи)
Там весь интерфейс блокируется, на самом деле. Чтобы не блокировалось надо в отдельной треде ручками пускать.
вот такая простая и эффектившнейшая защита от перегруза.
если у программиста хватает квалификации отдельный тред запустить для контроля, то велика вероятность что и защиту от запуска еще невыполнейвшися команды сделает
...
Рейтинг: 0 / 0
Delphi vs Java2
    #33360947
Фотография DarkSquid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что сравнивать-то?

В Delphi IDE одна и тулкит один. А в Java IDE много и тулкитов много. Например, можно всё в Emacs'e делать, тогда проблем с кнопками и эксепшинами вообще не будет. А можно в IDE-шках копаться, тогда как там кодогенератором код нагенериться так всё и будет работать.

Вон у Softwarer'а, как я понял, притензии к конкретным IDE и тулкиту, которые он использует.
...
Рейтинг: 0 / 0
Delphi vs Java2
    #33360959
Ewg_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkSquid Ewg_причем кнопка ни хрена не блокируется, ожидая выполнения тяжелой команды (как в дельфи)
Там весь интерфейс блокируется, на самом деле. Чтобы не блокировалось надо в отдельной треде ручками пускать.
вот такая простая и эффектившнейшая защита от перегруза.
если у программиста хватает квалификации отдельный тред запустить для контроля, то велика вероятность что и защиту от запуска еще невыполнейвшися команды сделает
...
Рейтинг: 0 / 0
Delphi vs Java2
    #33360970
Фотография DarkSquid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Преимущество Delphi для большинства программистов в том, что она более интегрирована со своим IDE, нежели Java, что позволяет избежать багов взаимодействия IDE с языком.
...
Рейтинг: 0 / 0
Delphi vs Java2
    #33360990
Фотография DarkSquid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вообще - Java/Delphi... Оплата-то всё равно почасовая. Какая разница - на чём быстрее?
...
Рейтинг: 0 / 0
Delphi vs Java2
    #33361417
Фотография DarkSquid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так как проблема непойманных исключений поднималась в этом топике много раз, я решил (всё-таки) выяснить, как же можно бороться с непойманными исключениями в Java (окромя ловли их).

Что же мы имеем в J2SE 5.0? А имеем мы интерфейс Thread.UncaughtExceptionHandler, который позволяет заимплементить обработчик непойманных исключений и имеем мы так же статический метод Thread.setDefaultUncaughtExceptionHandler, который позволяет назначить обработчк непойманных исключений для всех тред. Есть так же и простой метод Thread.setUncaughtExceptionHandler, который позволяет назначать обработчик исключений для конкретной треды.

Следовательно, хотите показывать все исключения пользователю - ставите J2SE5.0, имплементите всего один метод uncaughtException(Thread t, Throwable e) в интерфейсе UncaughtExceptionHandler и добавляете в метод main всего одну строчку
Код: plaintext
1.
Thread.setDefaultUncaughtExceptionHandler(new MyUncaightExceptionHandler());

И, добавляем в список сравниваемых параметров:-

Код: plaintext
1.
2.
3.
     Обработчик непойманных исключений 
    Delphi         есть 
    Java           есть, начиная с версии 1.5 

Что там ещё можно сравнить?
...
Рейтинг: 0 / 0
Delphi vs Java2
    #33361440
Фотография DarkSquid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И чтобы быть совсем точным, в любом JDK можно перехватывать непойманные исключения путём перегрузки метода

Код: plaintext
1.
public void ThreadGroup.uncaughtException(Thread t, Throwable e)

Это всего несколько строчек кода, которые могут использоваться повторно. Почему этого никто не сделал, зато все предпочитают ругать Java - неизвестно.

То, есть, исправляя предыдущий пост:
Код: plaintext
1.
2.
3.
4.
     Обработчик непойманных исключений 
    Delphi     есть 
    Java       есть 
 [code=plaintext]
                    
...
Рейтинг: 0 / 0
25 сообщений из 201, страница 3 из 9
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Delphi vs Java2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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