Быстрый в изучении - мощный в программировании
Скрипт ИНВЕСТОР на Python

Попробуйте себя в качестве инвестора имея в помощники мощный алгоритм советника на Python...

Все уроки по PyQt5

PyQt5 реализован как комплект Python-модулей. Он включает в себя около 620 классов и 6000 функций и методов...

Скрипт отправки SMS через Python

Была задача отправить SMS-ки большому списку номеров телефона с уточнением цены за всю рассылку "До" ее отправки...

исключения python

Классы встроенных исключений в Python

Все встроенные исключения в языке Python представлены в виде классов. Иерархия встроенных классов исключений показана в листинге ниже.

Иерархия встроенных классов исключений

BaseException
    GeneratorExit (в Python 2.6 и выше)
    KeyboardInterrupt
    SystemExit
    Exception
        GeneratorExit (в Python 2.5)
        StopIteration
        Warning
            BytesWarning (в Python 2.6 и выше)
            DeprecationWarning, FutureWarning, ImportWarning
            PendingDeprecationWarning, RuntimeWarning, SyntaxWarning
            UnicodeWarning, UserWarning
        StandardError
            ArithmeticError
                FloatingPointError, OverflowError, ZeroDivisionError
            AssertionError
            AttributeError
            BufferError (в Python 2.6)
            EnvironmentError
                IOError
                OSError
                    WindowsError
            EOFError
            ImportError
            LookupError
                IndexError, KeyError
            MemoryError
            NameError
                UnboundLocalError
            ReferenceError
            RuntimeError
                NotImplementedError
            SyntaxError
                IndentationError
                    TabError
            SystemError
            TypeError
            ValueError
                UnicodeError
                    UnicodeDecodeError, UnicodeEncodeError
                    UnicodeTranslateError

Основное преимущество использования классов для обработки исключений заключается в возможности указания базового класса для перехвата всех исключений соответствующих классов-потомков. Например, для перехвата деления на ноль мы использовали класс ZeroDivisionError. Если вместо этого класса указать базовый класс ArithmeticError, то будут перехватываться исключения классов FloatingPointError, OverflowError и ZeroDivisionError. Пример:

Далее...

Исключения - это извещения интерпретатора, возбуждаемые в случае возникновения ошибок в программном коде или при наступлении какого-либо события. Если в коде не предусмотрена обработка исключения, то программа прерывается и выводит сообщение об ошибке.

Существует три типа ошибок в программе:

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

>>> print "Нет завершающей кавычки!
SyntaxError: EOL while scanning string literal
Логические - это ошибка в логике работы программы, которые можно выявить только по результатам работы скрипта. Как правило, интерпретатор не предупреждает о наличии ошибки. А программа будет выполняться, т.к. не содержит синтаксических ошибок. Такие ошибки достаточно трудно выявить и исправить.

Далее...