Редирект в случае ошибки сделать невозможно.
Потому что в случае ошибки сервер обязан отдать НТТР статус с кодом 5хх
А редирект выдает код 3хх
То есть, если сделать редирект, то клиент не узнает, что это ошибка.
При возникновении ошибок поведение боевого сервера должно быть стандартным:
1. залогировать ошибку для программиста
2. Отдать корректный код статуса для НТТР клиента
3. В случае, если запрос делал браузер, то желательно показать посетителю сайта какую-то осмысленную страницу.
Можно, кстати, обойтись без try-catch,
Правильно ли я понял централизованную обработку исключений в PHP?