Несколько блоков try-catch против одного большого блока try-catch [в потоке] - PullRequest
6 голосов
/ 27 апреля 2011

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

У меня есть класс, который реализует Runnable (Java, но на самом деле это не имеет значения). В нем есть несколько блоков, каждый из которых окружен собственным блоком try-catch с регистрацией и обработкой. Каждый блок генерирует один и тот же класс исключений.

Как вы думаете, я должен расширить коллекцию исключений, создав исключение для каждой операции, поместить все блоки в один блок try-catch и обрабатывать каждый из них по-разному? Вот пример того, что у меня есть здесь .

Заранее спасибо.

1 Ответ

3 голосов
/ 28 апреля 2011

Пример, который вы опубликовали, предполагает наличие единого блока улова для ясности и удобства обслуживания. Я согласен с этим, это хороший совет. Вы беспокоитесь о производительности? Теоретически, если вы делаете что-то между вашими исключающими блоками, несколько блоков try / catch будут быстрее. Но разница будет довольно небольшой, и ремонтопригодность пострадает. Перейти с одной попытки поймать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...