【问题标题】:what does the error "no exception supplied" mean?错误“没有提供异常”是什么意思?
【发布时间】:2013-06-15 04:08:51
【问题描述】:

我的 Django 应用程序当前在我的一个页面上抛出此错误,有人知道它的含义吗?我会提供更多细节,但我不知道这个错误意味着什么,所以我不确定相关文件是什么,而且 Django 应用程序的代码量相当大,所以一旦我能得到,我会发布一些代码了解这意味着什么。提前感谢您的帮助。

编辑:我尝试捕获错误并像这样打印它: 编辑:我输入了引发错误的代码

jobIDs 是一个包含我要修改的记录的所有 ID 的字典

for i in jobIDs:  
    dateToRun = request.POST['dateToRun']
    timeToRun = request.POST['timeToRun']  
    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)
    whenToRun = dateToRun + ' ' + timeToRun
    Job.objects.filter(id=jobIDs[i]).update(whenToRun=whenToRun)

这会产生一个空行输出(来自except块中的打印),我是否误解了如何打印错误?

【问题讨论】:

  • 您能否发布完整的错误消息以及try 子句中的代码?

标签: python django exception


【解决方案1】:

您是否正在执行一段可能引发异常的代码?也许数据库查询不存在的东西?如果是这样,您需要将代码块包装在 try/except 子句中。例如,如果异常确实是对不存在的东西的查询:

try: 
    #Block of code that throws exception
except Object.DoesNotExist:
    #Handle error

【讨论】:

  • 更新了原始帖子,尝试产生错误输出。
  • 奇怪,这是否解决了页面上的问题,还是您仍然收到 No Exception Supplied 错误?
  • 您的问题已得到解答,对吗?添加 except 子句是原始问题的解决方案。
  • 对不起,我一直在同时处理一堆问题,我完全忘记了这个问题。是的,这帮助我找到了问题。
【解决方案2】:

也许是因为您使用的是BaseException 而不仅仅是Exception?试试这个:

try:
    # Your code that may throw an exception
except Exception, e:
    print str(e)

根据Python Exception docs on BaseException

异常基础异常

由用户定义的类直接继承(为此,使用Exception)所有内置异常的基类。它并不意味着由用户定义的类直接继承(为此,请使用Exception)。

【讨论】:

  • 在 python 3.5 中:except Exception as e:print (str(e))
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多