Python中的异常处理-mysql.connector

时间:2018-07-04 08:02:28

标签: python mysql exception-handling mysql-python

我有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()上创建一个Error异常,其中Prog1.py中的一个函数被调用并引发错误 mysql.connector.errors.InternalError : Deadlock found when try to get lock 并跳过其余的while循环,并且不更新最后的时间,而是按照代码中的说明在0.2s之后再次循环。

我所需要的是编写以下条款的最佳地方

try:
...
except:
 continue
...

1 个答案:

答案 0 :(得分:0)

一种方法是在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中创建一个返回True值,如下所示:

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