Исключения можно возбуждать и из программы. Для этого служит оператор raise. Заодно 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Исключения можно возбуждать и из программы. Для этого служит оператор raise. Заодно

Поиск

value = default_value

 

Вместо

 

if dict.has_key(key): value = dict[key]

else:

 

value = default_value

Примечание:

 

Пример уже несколько устаревшей идиомы языкаPythonиллюстрирует только дух этого подхода:в современномPythonлучше записать так value = dict.get(key,

 

default_value).

 

Исключения можно возбуждать и из программы.Для этого служит оператор raise.Заодно

 

следующий пример показывает канонический способ определения собственного исключения:

 

class MyError(Exception): pass

try:

 

...

raise MyError, "my error 1"

 

...

 

except MyError, x: print "Ошибка:", x

 

Кстати,все исключения выстроены в иерархию классов,поэтому ZeroDivisionError может быть поймана как ArithmeticError,если соответствующая часть except будет идти раньше.

 

Для утверждений применяется специальный оператор assert.Он возбуждает AssertionError,если заданное в нем условие неверно.Этот оператор используют для самопроверки программы.В оптимизированном коде он не выполняется,поэтому строить на нем логику алгоритма нельзя.Пример:

 

c = a + b

 

assert c == a + b

 

Кроме описанной формы оператора,есть еще форма try-finally для гарантированного

 

выполнения некоторых действий при передаче управления изнутри оператора try-finally вовне.Он может применяться для освобождения занятых ресурсов,что требует обязательного выполнения,независимо от произошедших внутри катаклизмов:

 

try:

 

...


 


finally:

 



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 52; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.128 (0.009 с.)