try...except:
  
try:
    with open('nonexistent_file.txt', 'r') as f:
        # Обработка файла
        pass
except FileNotFoundError:
    print("Файл не найден.")
except Exception as e:
    print(f"Произошла другая ошибка: {e}")
  try происходит попытка открыть файл. Если возникает исключение FileNotFoundError, выполнение переходит в блок except FileNotFoundError, где можно обработать эту ошибку (например, вывести сообщение об ошибке). Можно добавить другие блоки except для обработки других возможных ошибок. Блок except Exception as e позволяет перехватить любые другие непредвиденные исключения и обработать их.
Обработать ошибку при попытке открыть несуществующий файл в Python можно с помощью блока try...except.
Основная идея заключается в следующем:
FileNotFoundError), помещается в блок try.try возникает исключение указанного типа (или любого его подкласса), то выполнение блока try прекращается, и управление передается в соответствующий блок except.except можно обработать исключение, например, вывести сообщение об ошибке, выполнить какие-то действия по умолчанию или предпринять попытку восстановления.Вот пример кода:
try:
  with open("nonexistent_file.txt", "r") as file:
    content = file.read()
    print(content)
except FileNotFoundError:
  print("Ошибка: Файл 'nonexistent_file.txt' не найден.")
except Exception as e:
  print(f"Произошла другая ошибка: {e}")
else:
  print("Файл успешно прочитан и обработан.")
finally:
  print("Этот блок выполняется всегда, независимо от того, было ли исключение.")
  Разъяснения по коду:
try: -  Начинает блок, в котором может произойти исключение.with open("nonexistent_file.txt", "r") as file: - Пытается открыть файл "nonexistent_file.txt" для чтения.  Использование with гарантирует автоматическое закрытие файла после завершения работы с ним, даже если возникнет исключение.except FileNotFoundError: -  Обрабатывает исключение FileNotFoundError, которое возникает, если файл не найден.  Выводится сообщение об ошибке.except Exception as e: - Обрабатывает любые другие исключения, которые могут возникнуть (например, проблемы с правами доступа).  Выводит сообщение о типе и описании ошибки. Очень важно, чтобы этот блок стоял после блока FileNotFoundError, иначе он перехватит и его тоже.else: -  Этот блок выполняется, если в блоке try не возникло никаких исключений.  В данном случае, он выводит сообщение об успешном чтении файла.finally: -  Этот блок выполняется всегда, независимо от того, было ли исключение или нет.  В данном случае, он выводит сообщение, подтверждающее это.  Он часто используется для освобождения ресурсов (например, закрытия соединений с базой данных).Альтернативные подходы:
os.path.exists(): Перед попыткой открыть файл можно проверить, существует ли он, с помощью функции os.path.exists("nonexistent_file.txt").  Однако это не является полностью надежным, так как файл может быть удален между проверкой и попыткой открытия. Использование try...except считается более безопасным и предпочтительным.Дополнительные замечания: