Смысл перехвата, выполнения некоторых обработок, а затем выдачи исключения, состоит в том, чтобы сделать его доступным для перехвата с помощью некоторого оператора catch где-то выше вашего кода в стеке. Если исключение нигде не перехватывается, оно поднимется до уровня CLR и остановит процесс.
Если вы хотите перехватить исключение, обработайте его, а затем продолжайте, все просто: просто не бросайте его обратно в операторе catch.