Можно ли определить собственный оператор with
, который автоматически включает попытку... кроме обработки ошибок? Например, было бы неплохо иметь сокращение для этого:
with Do_Something():
try:
...
except Exception as e:
print(str(e))
... это выглядит так:
with Try_Something():
...
Как мы можем включить поведение try...except в следующий класс MWE?
class Do_Something():
def __init__(self):
pass
def __enter__(self):
print('Starting...')
# invoke "try" somewhere here?
return(self)
def __exit__(self, except_type, except_value, tb):
# invoke "except" somewhere here?
__exit__()
позволяют обрабатывать исключения. Подробнее см. в документах. - person Klaus D.   schedule 15.05.2021__exit__
, аналогично тому, как это сделал быstr(e)
, используя аргумент, предоставленныйexcept
. - person Martin   schedule 15.05.2021