Показаны сообщения с ярлыком исключения. Показать все сообщения
Показаны сообщения с ярлыком исключения. Показать все сообщения

Ошибки и исключения в Python

Все ошибки в языке Python делятся на два типа:
  • синтаксические ошибки;
  • исключения - ошибки, которые возникают в процессе исполнения кода.

Когда мы запускаем файл целиком на исполнение, то интерпретатор для начала проверяет его полностью на синтаксические ошибки. Синтаксические ошибки - это единственные ошибки о которых можно узнать до исполнения самого кода.

Ошибки также являются объектами и поэтому у любой ошибки есть тип:
  • IndexError - мы пытались взять индекс, которого нет в списке.
  • NameError - это такая ошибка, которая встречается, когда мы не можем найти имя в пространстве имен.
  • TypeError - мы вероятно передали в какую-нибудь функцию, что-нибудь неправильного типа.

Ошибка хранит в себе состояние стека вызова на тот момент, когда совершилась ошибка.

Исключения в Java


Классификация исключений

  • java.lang.Throwable - базовый класс для всех исключений;
  • Исключительные ситуации в пользовательском коде:
    • java.lang.Exception - базовый класс для проверяемых (checked) исключений, соответствующих ошибкам программной логики;
    • java.lang.RuntimeException - базовый класс для непроверяемых (unchecked) исключений, соответствующих ошибкам программной логики:
      • java.lang.NullPointerException;
      • java.lang.ArrayIndexOutOfBoundsException;
      • java.lang.ArithmeticException;
      • ...
  • Исключительные ситуации в JVM:
    • java.lang.Error - базовый класс для исключений, соответствующих ошибкам виртуальной машины:
      • java.lang.OutOfMemoryError;
      • java.lang.NoClassDefFoundError;
      • java.lang.VerifyError;
      • ...