我正在尝试调试错误,当我最初运行它时,我得到了"无异常提供",然后放入try/except块以打印出错误.
try:
#some code
except BaseException, e:
print str(e)
Run Code Online (Sandbox Code Playgroud)
这产生了一个空白的输出线,任何想法可能是什么?
编辑:抱歉,希望有一个特定的原因,错误消息可能是空白.没有堆栈跟踪输出,这导致我被迫首先尝试try/except块,我仍在编程这个东西所以我只是让'编译器'抓住错误.抛出错误的实际代码是在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)
Run Code Online (Sandbox Code Playgroud)
这是视图函数中的代码.jobIDs是包含值## Selection:##(即17Selection:17)格式的值键对的dict.对不起,我忘了发帖.
编辑:repr(e)给了我TypeError(),这比不知道任何东西更好.
Mar*_*ers 12
这意味着该异常没有附加消息.打印例外类型:
print repr(e)
Run Code Online (Sandbox Code Playgroud)
您可能还想打印回溯:
import traceback
# ...
except BaseException as e:
traceback.print_exc()
Run Code Online (Sandbox Code Playgroud)
但是你想要避免捕捉BaseException,这并不比一揽子except:声明好.相反,捕获更具体的例外.
以下产生一个空行输出:
try:
raise Exception()
except BaseException, e:
print str(e)
Run Code Online (Sandbox Code Playgroud)
用repr(e)看的异常是什么长大.
| 归档时间: |
|
| 查看次数: |
10058 次 |
| 最近记录: |