А что за sherlockexception?
внизу описано же в тексте
Сори. Не заметил
Все что после SherlockException не поймается, поскольку у тебя SherlockException наследований от Exception, а это один из низкоуровневых исключений, надо соблюдать иерархию.
У него commonerror не отлавливается, а не sherlock, как я понял
У него входит в 107 строку и рейсит 109, все что после — пролетит
Так рейзит коммонеррор
Не пойму, почему тогда на 114 строке не отлавливает коммонеррор
Потому что исключение произошло на Exception и оно физически не дойдёт
https://tatyderb.gitbooks.io/python-express-course/content/chapter_exception/3_tree.html
Да я знаю иерархию
да, ты пра
Вообще, насколько я понял, суть даже не в иерархии, как я предполагал, к примеру такая конструкция тоже не прокатит: def start(): try: raise ValueError except ValueError: raise Exception except Exception: print(1) То есть: кинуть/сделать ошибку и отловить вийдет единожды, но кинуть/сделать -> отловить -> кинуть другую -> снова отловить — не получится вообще в пределах одной конструкции.
угу. нужно рейз оборачивать в трай ексепт, лол
👍
class SherlockException(aiohttp.ClientError): pass так тоже не ловится (
Обсуждают сегодня