В том, что я написал, NoResultException
может быть поднят либо в моем блоке try
, либо в моем блоке except UnexpectedAlertPresentException
. Я хотел бы перейти в блок except NoResultException
в любом случае, но он делает это только в том случае, если NoResultException
поднят в блоке try
. Это примерно то, что я сейчас:Исключение для справки, поднятое в исключении.
try:
# do things
except UnexpectedAlertPresentException:
# do other things, including possibly raise NoResultException
except NoResultException:
# handle exception
Я мог бы изменить его на что-то вроде этого:
try:
# do things
except UnexpectedAlertPresentException:
try:
# do other things, including possibly raise NoResultException
except NoResultException:
# handle exception
except NoResultException:
# handle exception
обрабатывать NoResultException
, но я стараюсь не повторять себя. Есть ли лучший способ сделать это?
Как правило, вы не должны выполнять операции в блоке 'except', который может вызывать больше исключений, но если вам нужно, вы можете разделить обработку на отдельную функцию, которая обрабатывает возможность внутреннего исключения –