В try произошла ошибка, а в finally тоже случилось исключение (например, при закрытии ресурса). Почему это плохо с точки зрения отладки?

AПлохо только из-за производительности, но на отладку это не влияет.
BНичего страшного: исключение из finally автоматически игнорируется.
CИсключение из finally может «перекрыть» исходную ошибку, и станет сложнее понять первопричину по traceback.
DЭто хорошо: вы увидите сразу два traceback, и отладка станет проще.
Правильный ответ. Если finally падает, он может скрыть исходную причину падения и усложнить диагностику.

Разбор

finally нужен для безопасной уборки. Если в нём есть код, который может упасть, вы рискуете потерять фокус на исходном исключении из try. В результате вместо первопричины в логах может доминировать ошибка из finally, и исправление станет дольше и дороже.

Проверь себя · 1/3разбор после ответа
Вы пишете функцию, которая внутри try делает return, а в finally закрывает ресурс (например, файл или соединение). Что произойдёт с кодом в finally при return из try?
Тренировать Python в Telegram

Ещё вопросы по теме «Исключения и отладка»