Вопрос: Несколько блоков try-catch VS один большой блок try-catch [в потоке]


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

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

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

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


6


источник


Ответы:


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


3