У меня есть большой старый метод Python, содержащий около двадцати return
операторов.
Метод не должен возвращать None
, но он делает это. Он повторяется в простом случае.
До сих пор я использовал отладчик и прошел через строку кода, чтобы найти соответствующий оператор return.
Но есть ли более простой способ?
Есть ли способ повысить исключение, как только метод возвращает None?
и, конечно, мне нужно увидеть строку, содержащую оператор return.
Пример:
def big_method(arg1, some_var):
#.... many returns
if arg1:
return some_var # <------
#... many returns
assert not big_method(True, None) is None
Выше приведен фрагмент кода. Результат:
Traceback (most recent call last):
File "/home/modwork_vums_d/src/manyreturns.py", line 8, in <module>
assert not big_method(True, None) is None
AssertionError
Выше трассировка не очень помогает, так как я хочу видеть строку внутри big_method()
. В приведенном выше примере я хочу видеть, что я отмечен <------
.
Я использую PyCharm, но приветствуется чистый python или другое решение.
Только для записей. Существует следующий вопрос, который пытается включить эту функцию в PyCharm: PyCharm: Debugging: r (eturn) Продолжить выполнение до тех пор, пока текущая функция не вернется