У меня никогда не было проблемы производительности за исключениями. Я использую исключения много - я никогда не использую коды возврата, если я могу. Они - плохая практика, и по-моему, запах как запутанный код.
я думаю, что все это сводится к тому, как Вы используете исключения: если Вы будете использовать их как коды возврата (каждый вызов метода в выгодах стека и перебросках) тогда, да, они будут медленными, потому что у Вас есть наверху каждая единственная выгода/бросок.
, Но если Вы бросаете у основания стека и ловите наверху (Вы заменяете целой цепочкой кодов возврата с одним броском/выгодой), все дорогостоящие операции сделаны однажды.
В конце дня, они - допустимая функция языка.
Только для подтверждения моей точки зрения
работайте эти код в этой ссылке (слишком большой для ответа).
Результаты на моем компьютере:
marco@sklivvz:~/develop/test$ mono Exceptions.exe | grep PM
10/2/2008 2:53:32 PM
10/2/2008 2:53:42 PM
10/2/2008 2:53:52 PM
Метки времени производятся вначале, между кодами возврата и исключениями, в конце. Требуется то же время в обоих случаях. Обратите внимание, что необходимо скомпилировать с оптимизацией.
Есть глобальное обновление - ничего (или все) не выбрано в проводнике пакетов и нажмите F5 (или щелкните правой кнопкой мыши пустое место и выберите «Обновить»). Конечно, это может занять довольно много времени, если у вас большие проекты.
Возможно, вам следует добавить запрос функции на сайт eclipse:
https://bugs.eclipse.org/bugs/
Я думаю, что было бы отличной идеей добавить предпочтение для автоматического обновления устаревших ресурсов.
Я думаю, что если вы щелкните узел проекта в проводнике проектов и нажмите F5 или щелкните правой кнопкой мыши и выберите «Обновить», все ресурсы для этого проекта будут обновлены. Кроме того, если вы нажмете CTRL + щелчок по нескольким проектам, вы сможете обновить несколько проектов одновременно.
Один щелчок по проекту, CTRL + A, чтобы выбрать все, и F5 должны делать именно то, что вы нужно - обновить все.
Я должен буду протестировать это, когда у меня будет возможность, но я считаю, что именно так я преодолевал подобные проблемы в прошлом.
Я заметил, что этот ответ обычно опускается. . Хочу отметить, что вопрос относится к конкретной версии Eclipse: 3.4.2. Фактически не существовало автоматического метода обновления несинхронизированных ресурсов до версии 3.7 Indigo Eclipse , как упоминалось в ответе Джеймса Блэкберна . Метод, описанный в этом ответе, является единственным способом достижения этого в версии 3.4.2 (и любой другой версии до 3.7 Indigo).
Даже если решения, предложенные другими perso, действительно верны, у вас есть плагин "Refresh All" для Eclipse. Просто добавьте страницу обновления в список сайтов обновления Eclipse, чтобы установить его в IDE.