我正在尝试调试一个错误,当我最初运行它时收到“未提供异常”,然后放入一个 try/except block 以打印出任何错误。
try:
#some code
except BaseException, e:
print str(e)
这会产生一个空行输出,你知道它是什么吗?
编辑:抱歉,希望有特定原因导致错误消息可能为空。没有堆栈跟踪输出,这就是导致我首先被迫执行 try/except block 的原因,我仍在编写这个东西,所以我现在只是让“编译器”捕获错误。引发错误的实际代码在 Django 应用程序中,因此它将具有 Django 的一些功能。
try:
if len(request.POST['dateToRun']) <= 0:
dateToRun = Job.objects.filter(id=jobIDs[i]).values()['whenToRun'].split(' ')[0]
if len(request.POST['timeToRun']) <= 0:
timeToRun = Job.objects.filter(id=jobIDs[i]).values()['whenToRun'].split(' ')[1]
except BaseException, e:
print str(e)
这是 View 函数中的代码。 jobIDs 是一个包含值键对的字典,格式为##Selection: ##(即 17Selection: 17)。抱歉,我一开始忘了发布这个。
编辑:repr(e) 给了我 TypeError() ,这比什么都不知道要好。
最佳答案
这意味着异常没有附加消息。打印异常类型:
print repr(e)
您可能还想打印回溯:
import traceback
# ...
except BaseException as e:
traceback.print_exc()
您想避免捕获BaseException
但是,这并不比一揽子except:
语句好。改为捕获更具体的异常。
关于python - python中的空错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17178186/