mysql.connector中的异常处理

ih99xse1  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(368)

我有一个2 pyton程序1)“prog1.py”处理一个数据库-从数据库查询2)“prog2.py”包含如下主运行循环


# importing the database class from Prog1.py (mysql.connector used to in Prog1.py)

from database import Database
...

# main run loop

while(True):
   time.sleep(0.2)
   for loc in data:
         self.datafunc(loc)
         call_func_fromprg1()
         foo()
         bar()
    #not to run these conditions if exception is met
    if expression1:
        then operation1
    if expression1:
        then operation2
    if expression3:
        then operation3
    if expression4:
        then operation4

    var = time()

我正在尝试在创建错误异常 call_func_fromprg1() 调用prog1.py中的函数并引发错误 mysql.connector.errors.InternalError : Deadlock found when try to get lock 并跳过while循环的其余部分,最后不更新时间,并在0.2s后重新循环,如代码中所示。
我所要求的是最好的地方写下面的条款

try:
...
except:
 continue
...
whlutmcx

whlutmcx1#

一种方法是在prog2.py中创建一个状态变量,如下所示。

from database import Database
...

# main run loop

while(True):
   time.sleep(0.2)
   for loc in data:
         self.datafunc(loc)
         status = call_func_fromprg1()
         foo()
         bar()
    #not to run these conditions if exception is met
    if expression1:
        then operation1
    if expression1:
        then operation2
    if expression3:
        then operation3
    if expression4:
        then operation4
    if status:
        var = time()

在prog1.py中创建一个返回真值,如下所示:

def function():
    try:
        # your code here
        #
        return True
    except:
        #Exception codes
        return False

相关问题