Анимация
JavaScript
|
Главная Библионтека IndexError Используется в случаях, когда индекс, используемый для получения элемента последовательности, выходит за пределы диапазона. Заметим, что индексы среза в этом случае считаются указывающими на конец или начало последовательности, и ошибки не возникает. Если индекс не является обычным целым числом, генерируется исключение TypeError. KeyError Исключения этого класса генерируются, если в отображении не найдена запись с указанным ключом. В качестве аргумента при инициализации экземпляра исключения обычно используется ключ. MemoryError Используется, если для выполнения операции не хватает памяти, но из сложившейся ситуации еще можно выйти, удалив некоторые объекты. Экземпляр исключения может быть инициализирован строкой, указывающей род (внутренней) операции, для выполнения которой не хватило памяти. Заметим, что лежащая в основе интерпретатора архитектура управления памятью (функция malloc() языка C) не всегда позволяет полностью восстановиться из подобных ситуаций. В любом случае генерируется исключение MemoryError и сообщение об ошибке (включая информацию о месте ее возникновения) может быть выведена в стандартный поток ошибок. NameError Исключения этого класса генерируются, если используемое в программе локальное или глобальное имя не найдено. Это имя используется в качестве аргумента при инициализации экземпляра исключения. UnboundLocalError Используется в случае, если Вы неявно ссылаетесь на глобальную переменную (не использовав предварительно инструкцию global ), а затем пытаетесь удалить ее или присвоить ей новое значение. Добавлен в версии 1.6. RuntimeError Используется при ошибках времени выполнения, которые не попадают ни в одну из описанных выше категорий. В качестве аргумента при инициализации используется строка с информацией об ошибке. Это исключение является пережитком прошлых версий языка и в настоящее время используется не слишком часто. NotImplementedError Исключения этого класса следует использовать при определении абстрактных методов пользовательских классов-интерфейсов для того, чтобы показать, что метод должен быть переопределен в производных классах. SyntaxError Используется синтаксическим анализатором при обнаружении синтаксических ошибок. Подобные ошибки могут возникнуть при использовании инструкций import и exec , функций eval() и input() , а также при чтении инструкций из файла или стандартного потока ввода (в том числе в интерактивном режиме). Экземпляры этого класса исключений имеют атрибуты: filename и lineno - имя файла и номер строки в которых обнаружена ошибка, text - текст строки, содержащей ошибку, offset - место в строке, где ошибка была обнаружена синтаксическим анализатором, и msg - сообщение об ошибке. Экземпляр исключения инициализируется в виде SyntaxError( msg, ( filename, lineno, offset, text)) . Функция str() , применительно к экземплярам исключения, возвращает только сообщение об ошибке (атрибут msg). SystemError Исключения этого класса генерируются в случае обнаружения внутренних ошибок. В качестве аргумента при инициализации используется строка, с подробностями (используется терминология низкого уровня). О возникновении подобных ошибок следует сообщать авторам языка. TypeError Исключения этого класса генерируются, какая-либо операция применяется к объекту несоответствующего типа. В качестве аргумента при инициализации исключения используется строка, указывающая на детали несоответствия типа. ValueError Исключения этого класса генерируются, какая-либо операция применяется к объекту правильного типа, но имеющего несоответствующее значение, и ситуация не может быть описана более точно с помощью исключения другого типа (например, IndexError). UnicodeError Используется при ошибках преобразования строки в определенной кодировке в строку Unicode и наоборот. Добавлен в версии 1.6. SystemExit Исключения этого класса генерируются функцией sys.exit(). Если исключение не обрабатывается, выполнение программы молча прерывается. В качестве аргумента при инициализации используется целое число - код ошибки, передаваемый функции exit() языка C. По умолчанию и, если используется None, код завершения считается равным 0. Если при инициализации использован аргумент другого типа или несколько аргументов, аргумент или кортеж аргументов выводится в стандартный поток ошибок. В любом случае, аргумент или кортеж аргументов сохраняется в виде атрибута code. SystemExit является производным непосредственно от Exception, а не StandardError, так как фактически исключения SystemExit не являются ошибкой. Вызов функции sys.exitO преобразуется в генерацию исключения для того, чтобы могла быть выполнена очистка (ветвь finally инструкции try) и отладчик мог выполнить программу без потери контроля. Если все же необходимо немедленно прервать выполнение программы (например, после вызова функции os.fork() в дочернем процессе), воспользуйтесь функцией os. exit() . Часть III Библиотека стандартных модулей 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 [ 56 ] 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 |