Исключения
Python 3 определяет 63 встроенных исключения, и все они образуют древовидную иерархию, хотя дерево немного странное, поскольку его корень расположен на сверху. р>
Некоторые из встроенных исключений носят более общий характер (они включают в себя другие исключения), в то время как другие являются конкретными (они представляют только себя). Можно сказать, что чем ближе к корню находится исключение, тем более общим (абстрактным) оно является. В свою очередь, исключения, расположенные на концах ветвей (мы можем назвать их листьями), являются конкретными.
Посмотрите на рисунок:
Он показывает небольшой раздел полного дерева исключений. Давайте начнем рассматривать дерево с листа ZeroDivisionError.
Примечание:
- ZeroDivisionError - это частный случай более общего класса исключений с именем ArithmeticError;
- ArithmeticError - это частный случай более общего класса исключений с именем Exception;
- Exception - это частный случай более общего класса с именем BaseException.
Мы можем описать это следующим образом (обратите внимание на направление стрелок - они всегда указывают на более общий объект):
BaseException
↑
Exception
↑
ArithmeticError
↑
ZeroDivisionError
Мы собираемся показать Вам, как работает это обобщение. Давайте начнем с очень простого кода.