Какие ключевые слова используются для обработки исключений в Python?

«Какие ключевые слова используются для обработки исключений в Python?» — вопрос из категории Основы программирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для обработки исключений в Python используются пять ключевых слов: try, except, else, finally и raise.

  • try: Блок, в котором размещается код, способный вызвать исключение.
  • except: Блок для перехвата и обработки исключений. Можно указывать конкретный тип исключения (например, ValueError) или несколько типов в кортеже.
  • else: (Опционально) Блок, который выполняется только если в блоке try не было выброшено ни одного исключения. Полезен для разделения основного кода и обработки ошибок.
  • finally: (Опционально) Блок, который выполняется всегда, независимо от того, было исключение или нет. Используется для освобождения ресурсов (закрытие файлов, соединений с БД).
  • raise: Ключевое слово для явного выброса (порождения) исключения.

Пример использования всех блоков:

try:
    file = open("data.txt", "r")
    content = file.read()
    number = int(content.strip())
except FileNotFoundError:
    print("Файл не найден.")
except ValueError:
    print("Файл не содержит число.")
else:
    print(f"Успешно прочитано число: {number}")
finally:
    # Этот код выполнится в любом случае
    if 'file' in locals() and not file.closed:
        file.close()
    print("Операция завершена.")