Такова философия go - явня обработка ошибок. Можно конечно и писать на panic-recover, но будет не менее уродливо и не факт что производительно. Просто привыкните, примите как особенность языка.
Можете вынести идентичные строки в некую функцию ErrorHandler.