отладка проблемы с условным питоном точки останова - PullRequest
0 голосов
/ 12 августа 2011

Когда я пытаюсь запустить следующий бит кода, я получаю ошибку TypeError: object of type 'NoneType' has no len() (ссылаясь на переменную stringConverted).Я проверил разные значения, и это работает для тех, которые я проверял.Я думал, что лучший способ отладить это - выяснить, какое значение i вызывает 'NoneType'.Поэтому я попытался установить условную точку останова, где stringConverted = 'NoneType', чтобы при запуске программа остановилась, когда это условие выполнено.Но когда я пытаюсь запустить его после установки условной точки останова, он просто проходит все время, вызывая одну и ту же ошибку.что я тут не так делаю?Правильно ли отформатирован мой условный оператор точки останова?

def main():
    totalChars = 0
    for i in range(1,500):
        stringConverted = stringConvert(i)
        totalChars = totalChars + len(stringConverted)
    print totalChars

Ответы [ 2 ]

0 голосов
/ 12 августа 2011
def main():
    totalChars = 0
    for i in range(1,500):
        stringConverted = stringConvert(i)
        if stringConverted is None:
            print i
            break
        totalChars = totalChars + len(stringConverted)
    else:
        print "No error!"
    print totalChars
0 голосов
/ 12 августа 2011

Вы должны использовать if stringConverted is None вместо проверки типа, чтобы увидеть, является ли он NoneType.

...