当前位置: 首页 > 面试题库 >

捕获MySql警告

富钧
2023-03-14
问题内容

在我的python脚本中,我想使用MySql捕获“我的查询截断了列’xxx’的数据”警告。

我看到了一些建议以下代码的帖子,但它不起作用。

您是否知道在使用此代码之前是否必须导入某些特定模块或是否应调用某些选项/标志?

谢谢大家

阿菲格

import MySQLdb
try:
    cursor.execute(some_statement)
    # code steps always here: No Warning is trapped
    # by the code below
except MySQLdb.Warning, e:
    # handle warnings, if the cursor you're using raises them
except Warning, e:
    # handle warnings, if the cursor you're using raises them

问题答案:

警告仅仅是:警告。他们被报告给(通常)stderr,但是没有做其他事情。您不能像异常一样捕获它们,因为它们没有被引发。

你可以,但是,配置怎么
有警告,并关闭它们或者将它们变成例外,使用warnings模块。例如,warnings.filterwarnings('error', category=MySQLdb.Warning)MySQLdb.Warning warnings成异常(在这种情况下,他们将使用您的尝试捕获/除外),或'ignore'根本不显示它们。您可以(也许应该)拥有比类别更多的细粒度过滤器。



 类似资料:
  • 本文向大家介绍python捕获警告的三种方法,包括了python捕获警告的三种方法的使用技巧和注意事项,需要的朋友参考一下 1. 警告不是异常 你是不是经常在使用一些系统库或者第三方模块的时候,会出现一些既不是异常也不是错误的警告信息? 这些警告信息,有时候非常多,对于新手容易造成一些误判,以为是程序出错了。 实则不然,异常和错误,都是程序出现了一些问题,但是警告不同,他的紧急程度非常之低,以致于

  • 下面的SCCE显示了实现接口标记的两个类(B和C)。对于实现Marker的每个类,都有一个实现泛型处理程序接口的对应类(B_处理程序、C_处理程序)。映射用于关联Pair的类类型。其次是它的关联处理程序。代码按预期执行;但是,我得到一个编译时警告: 警告:[未检查]未检查的强制转换处理程序h1=(处理程序)(dispatch.get(p1.second.get类()));需要:处理程序找到:处理程

  • 当用PDFBox加载PDF时,如果PDF错误,则会收到日志级警告: 例如,这可能导致控制台上的以下输出: 显然,pdf在内容流中有一些错误,但它确实加载到中。但是否有可能用PDFBOX以编程方式捕获此警告?是否存在一些属性来告诉您文档加载后的警告? 我试过PDFBox-Preflight,但这会检查PDF/A是否符合,这会导致更多的消息。

  • 下面尝试包装lambda的(简化的)代码给了我一些Clang版本的警告,但不是所有版本,也不是gcc版本。 这是一个窃听器,还是我遗漏了什么?我在godbolt和版本中收到了的警告,这是一个更大的回购的一部分,但我还无法隔离该版本的故障。 这个相关问题中的例子没有给出警告。 改进(我认为)版本: 这将使Godbolt中的的警告沉默。我想它应该能安全地适用于任何一个functor,任何我遗漏的东西?

  • 在PHP7.4.0中,我看到了以下警告: 我的错误/异常处理程序无法捕获并记录它们。 示例: 警告仍显示在正常输出中,并且两个处理程序均未调用。 我想在自己的日志中记录所有错误、异常和警告,但处理程序无法捕获此警告。是否有这样的原因或解决方案来捕获并记录PHP抱怨的所有内容(无法访问服务器Apache/PHP日志)?

  • 我有一个存储过程似乎没有正确记录错误。 代码有错误,但 catch 块似乎未生效。 try块相当长,但错误部分很简单,并且在最后出现,所以我已经对此进行了预测。 proc失败的错误是我们的老朋友“列名或提供的值的数量与表定义不匹配”。我已经修复了这个错误 - 这是一个愚蠢的懒惰错误 - 但我感到困惑为什么我的错误日志记录过程似乎没有工作 - 没有行入到我的 ExtractsErrorLog 表中。