Я думаю, что ваша стратегия удаления блока try / catch, который, как кажется, выполняет обычную бездумную регистрацию, в порядке.Очевидно, что оставить код очистки необходимо.Тем не менее, я думаю, что для вашего третьего пункта необходимы дополнительные разъяснения.
Возвратите false при методах ошибок, которые обычно подходят для тех случаев, когда исключения неизбежны, например, файловая операция в вашем примере.В то время как я вижу выгоду от удаления кода обработки исключений там, где его просто вводят бездумно, я бы тщательно обдумал, какую выгоду вы получите, повысив ответственность за обработку исключений такого рода выше в цепочке вызовов.
Если метод делает что-то очень специфическое (это не универсальный код платформы), и вы знаете, какие вызывающие его используют, то я позволил бы ему проглотить исключение, оставив вызывающие стороны свободными от обязанностей по обработке исключений.Однако, если это что-то более общее и, возможно, скорее метод фреймворка, где вы не уверены, какой код будет вызывать метод, я бы позволил распространению исключения.