Python/Учебник Python 2.6: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 2224:
raise</source>
 
У оператора <code>try ''...'' except</code> есть необзятельныйнеобязательный ''блок <code>else<code>'', который, если присутствует, должен размещаться после всех блоков <code>except<code>. Его полезно использовать при наличии кода, который должен быть выполнен, если блок <code>try<code> не породил исключений. Например:
 
<source lang="python">for arg in sys.argv[1:]:
Строка 2241:
В блоке <code>except</code> можно указать переменную, следующую за именем исключения (или кортежем). Переменная связывается с экземпляром исключения, аргументы которого хранятся в <code>instance.args</code>. Для удобства, экземпляр исключения определяет методы <code>__getitem__</code> и <code>__str__</code>, так что доступ к аргументам или их вывод могут быть произведены явно, без необходимости отсылки к <code>.args</code>.
 
Использование <code>.args</code> в целом не одобряется. Вместо этого, рекомендуемый способ использования — это передача исключению единственного аргумента (который может быть кортежем, если требуется несколько аргументов) и его связь с атрибутом <code>message</code>. Таким образом можно создать экземпляр исключения перед его ''порождением'' (<tt>raising</tt>) и добавить любые аттрибутыатрибуты по желанию.
 
<source lang="python">>>> try: