Python 处理eval函数异常

Python 处理eval函数异常,python,eval,Python,Eval,我在我的项目中使用eval方法,我必须处理它可能引发的所有异常。我原以为简单的“尝试”和“排除”会奏效,但当我输入一个符号时,它就卡住了。。像eval(“5:2”) 试试看: 最大值=abs(评估(游戏功能)) 除: 尽管如此: x+=(x_f_坐标-x_0_坐标)/1050 尝试: 最大值=abs(评估(游戏功能)) 打破 除键盘中断外: 提升 除: 如果x

我在我的项目中使用eval方法,我必须处理它可能引发的所有异常。我原以为简单的“尝试”和“排除”会奏效,但当我输入一个符号时,它就卡住了。。像eval(“5:2”)

试试看:
最大值=abs(评估(游戏功能))
除:
尽管如此:
x+=(x_f_坐标-x_0_坐标)/1050
尝试:
最大值=abs(评估(游戏功能))
打破
除键盘中断外:
提升
除:
如果x
在第七排,天气很冷


有什么建议吗

为什么要使用
eval()
方法?
5:2
不是有效的Python语法
eval
正在抛出语法错误。。。但是您捕获了所有异常,因此它对您是隐藏的,循环将永远不会达到其停止条件。你到底想做什么?我有一个函数,我想在两个x坐标中找到最高的y值,所以我用eval来分配x值并得到它们的y。当我输入一个有效的函数时,它就工作了,但当我输入某个值时它就不工作了。我现在不知道该怎么办。。。如果第七条线路没有结冰的话,这个条件必须起作用。。我想。。我只是不明白在cmd中按ctrl-c时得到的键盘中断是什么,为什么异常deosn无法捕获它,为什么要使用
eval()
方法?
5:2
不是有效的Python语法
eval
正在抛出语法错误。。。但是您捕获了所有异常,因此它对您是隐藏的,循环将永远不会达到其停止条件。你到底想做什么?我有一个函数,我想在两个x坐标中找到最高的y值,所以我用eval来分配x值并得到它们的y。当我输入一个有效的函数时,它就工作了,但当我输入某个值时它就不工作了。我现在不知道该怎么办。。。如果第七条线路没有结冰的话,这个条件必须起作用。。我想。。我只是不明白当我在cmd中按下ctrl-c时,我得到的键盘中断是什么,以及为什么异常无法捕捉到它
try:
    max = abs(eval(game_function))
except:
    while True:
        x += (x_f_coordinate - x_0_coordinate) / 1050
        try:
            max = abs(eval(game_function))
            break
        except KeyboardInterrupt:
                raise
        except:
            if x < x_f_coordinate:
                continue