python - 如何在Django View 中知道并引发确切异常

标签 python django exception error-handling

有时候,我们在Django中的try:和except:块内编写代码。但是我的困惑是在异常内部写什么:阻塞或如何知道确切的错误并引发错误。

例如:在这种情况下,我从views.py调用了一个实用函数,并且我这样写。

try:
    res = process_my_data(request, name, email)
except:
    import sys
    print sys.exc_value

在process_my_data()定义中,我正在执行某种数据库操作。如果失败了,并且除了阻止,我应该在这里写些什么。我不确定要写什么,这就是为什么要写print sys.exc_value

最佳答案

我认为您必须问自己的最大问题是:“为什么我首先要写这个作为尝试?”您知道尝试中的内容有能力引发异常吗?如果答案是肯定的,那么您肯定知道要捕获的异常类型。在这种情况下,似乎取决于您使用的后端数据库库。查找您正在使用的文档。从那里开始,真正由您决定的是您要执行的操作,除了-如果引发异常,您希望程序如何表现?在最低限度上,我会捕获一个一般异常,并使用以下内容将输出打印到控制台:

except Exception, e:        
        message = str(e)
        print (message)

关于python - 如何在Django View 中知道并引发确切异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20030576/

相关文章:

python - 循环遍历多个 URL 以从 Scrapy 中的 CSV 文件中抓取数据不起作用

python - 为什么要使用 wsgiref simple_server?

python - BeautifulSoup python 3 css 麻烦

javascript - 这种 XSS 攻击是如何工作的?

python - Pivot 将行复制到新列 Pandas

django - 创建 Heroku Django 应用程序后 syncdb 出现问题

python - 如何统计标签的使用次数并在html中显示?

java - 循环尝试语句

java - 在 JRuby 中抛出 Java 异常并在 Java 中捕获它

java - 如何停止在Java Sockets中第二次写入对象时出现streamcurrrupted异常