Что ты там на самом деле делаешь с этими исключениями, когда они возникают - логируешь их, пытаешься повторить попытку или просто молча идёшь дальше?
Люди настаивают на конкретных исключениях вот почему: голый `except:` или `except Exception:` поймает буквально всё, включая то, чего ты не ожидал и, вероятно, не должен был игнорировать. Например, если ты пытаешься открыть файл и ловишь `FileNotFoundError`, это конкретно и имеет смысл. Но голый except поймает и такое, как `KeyboardInterrupt` или `SystemExit`, которые обычно нужно пропускать. Ещё хуже - это скрывает баги: если в твоём коде опечатка или логическая ошибка, которая вызывает что-то неожиданное, ты никогда это не увидишь, потому что блок except это проглотит.
С другой стороны, для небольших скриптов или быстрого кода народ прагматичен. Разница особенно видна при отладке или когда кто-то другой берёт твой код. Конкретные исключения ясно показывают твои намерения - этот код знает, как обработать отсутствующий файл, но не проблему с подключением к БД. Если ты пишешь что-то, что останется небольшим, ловля `Exception` (не голый `except`) намного безопаснее, чем всеобщий обработчик, и ты хотя бы сможешь видеть, что ловится. По мере роста проектов захочешь быть конкретнее. Привычка целенаправленно выбирать, что ловить - это не просто педантизм, это спасает от странных багов потом.