Материалы седьмой лекции.
Комментарии
-
В raise можно указать либо экземпляр класса, который является наследником BaseException:
raise SomeError(arg1, arg2)
либо имя такого класса:
raise SomeError
В последнем случае будет создан экземпляр этого класса при помощи вызова
SomeError()
В итоге в любом случае исключением будет экземпляр класса, а не сам класс.
-
В лекциях несколько раз была произнесена фраза "если исключение является наследником...". Строго говоря наследником класса может быть только другой класс. Здесь же имеется ввиду "если исключение является экземпляром такого класса, который является наследником...".
-
Для себя проверку, которую осуществляет код
except SomeException as e: ...
можно мыслить следующим образом:
if isinstance(e, SomeException): ...