Это всего лишь твоё довольно непопулярное мнение.
EAFP это не стандарт, но у него есть множетсво преимущств. Чтобы точно знать, что код сработает нужно попробовать его выполнить, остальные способы узнают вероятностно
try:except показывает основной флоу программы и обработку ошибок, if else это просто две альтернативные ветки. Какая из них должна быть нормальной - непонятно
Будем тогда каждый лишний раз try/except пихать, где это возможно?
А что если код, который ты выполнил, неожиданно выкинет другую ошибку? Будешь делать ещё один эксепт? А если ещё одна?
Это, как минимум, делает код менее безопасным. Делая что-либо через
if statement:
...
return
...
Исключает полностью возможность появления лишь твоей конкретной ситуации. Я не спорю, что есть ситуации, где без try/except не обойтись, но пихать в любом удобном месте - не наилучший способ.