Исключения

Исключения в Python:

Исключения представляют собой способ обработки ошибок и неожиданных ситуаций в Python. Вот некоторые основные аспекты работы с исключениями:

  1. try, except блок:

    • Описание: Используется для обработки исключений. Код, который может вызвать исключение, помещается в блок try. Если исключение происходит, управление передается блоку except.

    • Пример:

      try:
          result = 10 / 0
      except ZeroDivisionError:
          print("Division by zero is not allowed")
  2. else в блоке try, except:

    • Описание: Блок else выполняется только в том случае, если в блоке try не было исключений.

    • Пример:

      try:
          result = 10 / 2
      except ZeroDivisionError:
          print("Division by zero is not allowed")
      else:
          print(f"Result: {result}")
  3. finally в блоке try, except:

    • Описание: Блок finally выполняется всегда, независимо от того, произошло исключение или нет.

    • Пример:

      try:
          result = 10 / 2
      except ZeroDivisionError:
          print("Division by zero is not allowed")
      finally:
          print("This block always executes")
  4. Спецификация типа исключения:

    • Описание: Можно указать тип ожидаемого исключения в блоке except.

    • Пример:

      try:
          result = int("abc")
      except ValueError as e:
          print(f"Error: {e}")
  5. Генерация исключения:

    • Описание: Исключение можно сгенерировать с использованием ключевого слова raise.

    • Пример:

      def validate_age(age):
          if age < 0:
              raise ValueError("Age cannot be negative")
      
      try:
          validate_age(-5)
      except ValueError as e:
          print(f"Error: {e}")
  6. Несколько блоков except:

    • Описание: Можно использовать несколько блоков except для обработки разных типов исключений.

    • Пример:

      try:
          result = 10 / 0
      except ZeroDivisionError:
          print("Division by zero is not allowed")
      except Exception as e:
          print(f"An error occurred: {e}")

Last updated