self.conn.listPath(share_name, tested_path) с не существующим путём происходит исключение в самой либе pysmb class OperationFailure(Exception):
я же хочу перехватывать исключение раньше и обрабатывать по другому. Создал своё исключение от Exception .
class RemotePathAbsence(Exception):
"""Raised when remote smb path absence"""
pass
но оно не перехватывает его. Если пишу просто :
try:
self.conn.listPath(share_name, tested_path)
except Exception as e:
то перехватывает, но тут использовать Exception не оч хорошо. как мне заюзать своё исключение ?
try: raise_some_error_func() except RaiseSomeError as err: raise YourCustomError from err
Ну, так не получится, без влезания в код либ, (вряд ли там есть интерфейс для подставки своих исключений) Перехватывай исключение из библиотеки Почему тебе это не подходит?
что ты имеешь ввиду под "Перехватывай исключение из библиотеки" ? через Exception?
from yourlib.exceptions import OperationFailure try: bla bla code except OperationFailure: ...
Ты 2 день на питоне Кодишь?
можешь пояснить код твой, я его не понимаю из того что я написал
А что здесь непонятного? Ловишь эксепшн и райзишь свой try: self.conn.listPath(share_name, tested_path) except Exception as e: raise RemotePathAbsence from e
на except Exception ругается pep8
Обсуждают сегодня