Могу ли я поднять пойманное исключение на верхнем уровне? - PullRequest
0 голосов
/ 25 октября 2019

У меня есть класс, который я использую во многих проектах, и я хочу, чтобы исключения, которые он вызывает, отображались на верхнем уровне, то есть там, где вызывается функция класса, а не внутри класса.

class A:
    def work(self,div_by):
        try:
            x = 1/div_by
        except Exception as e:
            raise e
        return x

def main():
    a = A()
    res = a.work(0)

main()

, когда язапустите это, код VS сломается и отобразит ошибку в строке

 x = 1/div_by

, но я хочу, чтобы он сломался на

res = a.work(0)

Я знаю, что могу сделать

try:
    res = a.work(0)
except:
    ...

но это слишком большая обработка исключений. Это не рабочий код, и я на самом деле хочу, чтобы код ломался, но я бы хотел, чтобы он ломался там, где должна быть исправлена ​​ошибка, а не там, где она возникает. (в этом случае на a.work (0)) Могу ли я это сделать? Я не совсем уверен, что это проблема, связанная с Python или кодом.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...