繁体   English   中英

如何在 Python 中处理 mySQL 异常?

[英]How do I handle mySQL exceptions in Python?

我想问一下如何在 Python 中处理 MySQL 异常。 基本上,我的程序要求他们输入描述的数量,我有一个 if 语句来检查他们输入的数量不超过 10。但是,我的数据库中名为“描述”的列只允许 100 个字符。 因此,用户输入的字符总数不能超过 100 个字符,但是,我无法捕获异常。 我查看了多个在线资源,例如导入“mysql.connector”并尝试捕获 DataError 异常,但它仍然无法正常工作。 我也尝试指定确切的异常,但是当我尝试测试输入超过 100 个字符时它仍然会出现相同的错误。有谁知道我可以解决这个问题的任何可能方法吗?

我的最终目标是向用户打印出错误原因并告知他们不能输入超过 100 个字符并防止程序突然停止。 谢谢你。

下面是我的代码的一些快照和我试图捕获的异常。

我的代码

遇到异常并试图捕获

您需要捕获的异常位于“遇到异常并试图捕获”图像的最后一行。

异常类型为“mysql.connector.error.DataError”。

在您的第一张图片中,您捕获了“mysql.connector.DataError”。 你错过了一个“错误”。 之间。

您的代码似乎不完整,所以我假设这就是您要找的。 从 MySQL 连接器/Python 开发人员指南, 第 10.12.2 节 errors.Error Exception ,我提出以下解决方案:

import mysql.connector

...

while True:
    try:
        number_of_description = int(input("Enter the number of descriptions you would like to give the item: "))
    except ValueError:
        print("You cannot enter a non-number value. Please try again.")
    except mysql.connector.Error as err:
        if err.errno == 1406:
            print('DataError: This exception is raised when there were problems with the data.')
            continue

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM