如何处理导入的 python 包代码中出现的错误?
How to handle errors raised in an imported python package code?
Traceback (most recent call last):
File "C:\Users\farha\Desktop\VoicebotRuuh_6_langs_Modified - Copy\chatbot.py", line 188, in
exec()
File "C:\Users\farha\Desktop\VoicebotRuuh_6_langs_Modified - Copy\chatbot.py", line 121, in exec
result = r.recognize_google(audio)
File "C:\Python36-32\lib\site-packages\speech_recognition__init__.py", line 859, in recognize_google
if not isinstance(actual_result, dict) or len(actual_result.get("alternative", [])) == 0: raise UnknownValueError()
speech_recognition.UnknownValueError
这是我在 运行 'python chatbot.py'
时得到的
init.py 文件中出现错误,该文件是 python 包中名为 speech_recognition 的文件,它被导入到 chatbot.py.
以下是基于此问题的 chatbot.py 片段。
import speech_recognition as sr
try:
audio = r.record(source, duration = 5)
#print("Done")
except:
exec()
- 我猜这是行不通的,因为导入的 python 包文件中出现了错误,但主文件 (chatbot.py)
中没有出现错误
- 如何处理这个错误?
use the error as an exception!
import speech_recognition as sr
try:
audio = r.record(source, duration = 5)
#print("Done")
except sr.UnknownValueError:
exec()
Traceback (most recent call last): File "C:\Users\farha\Desktop\VoicebotRuuh_6_langs_Modified - Copy\chatbot.py", line 188, in exec() File "C:\Users\farha\Desktop\VoicebotRuuh_6_langs_Modified - Copy\chatbot.py", line 121, in exec result = r.recognize_google(audio) File "C:\Python36-32\lib\site-packages\speech_recognition__init__.py", line 859, in recognize_google if not isinstance(actual_result, dict) or len(actual_result.get("alternative", [])) == 0: raise UnknownValueError() speech_recognition.UnknownValueError
这是我在 运行 'python chatbot.py'
时得到的
init.py 文件中出现错误,该文件是 python 包中名为 speech_recognition 的文件,它被导入到 chatbot.py.
以下是基于此问题的 chatbot.py 片段。
import speech_recognition as sr
try:
audio = r.record(source, duration = 5)
#print("Done")
except:
exec()
- 我猜这是行不通的,因为导入的 python 包文件中出现了错误,但主文件 (chatbot.py) 中没有出现错误
- 如何处理这个错误?
use the error as an exception!
import speech_recognition as sr
try:
audio = r.record(source, duration = 5)
#print("Done")
except sr.UnknownValueError:
exec()