首页 > 解决方案 > 我尝试用异常来保存应用程序,但它说(UnboundLocalError:分配前引用的局部变量'result')

问题描述

这是我的代码,它正在产生问题我只想让我的麦克风继续尝试听

def takeCommand(self):
    print("listening")
    with sr.Microphone() as source:
        audio = MySiri.listner.listen(source,phrase_time_limit=3)

    try:
        result = MySiri.listner.recognize_google(audio)
        print(result)
    except Exception as e:
        print(e)
        self.speak("sorry,repeat")
    return result

标签: python

解决方案


问题是,如果您的代码中断result = MySiri.listner.recognize_google(audio)并进入异常,则异常中没有命名result变量,因此请尝试使用此方法

def takeCommand(self):
    print("listening")
    with sr.Microphone() as source:
        audio = MySiri.listner.listen(source,phrase_time_limit=3)

    try:
        result = MySiri.listner.recognize_google(audio)
        print(result)
    except Exception as e:
        print(e)
        result = 'sorry, repeat'
        self.speak("sorry,repeat")
    return result

推荐阅读