忽略错误消息以继续python中的循环

Ignoring an error message to continue with the loop in python

本问题已经有最佳答案,请猛点这里访问。

我使用一个python脚本来执行abaqus中的一些函数。现在,在运行了一些迭代之后,由于一个错误,ABAQUS正在退出脚本。

在Python中,是否可以绕过错误并继续其他迭代?

错误消息是

1
2
#* The extrude direction must be approximately orthogonal
#* to the plane containing the edges being extruded.

在某些迭代中会出现错误,我正在寻找一种方法来忽略错误,并在遇到此类错误时继续循环。

for循环如图所示;

1
2
3
4
5
6
7
8
for i in xrange(0,960):
    p = mdb.models['Model-1'].parts['Part-1']
    c = p.cells
    pickedCells = c.getSequenceFromMask(mask=('[#1 ]', ), )
    e, d1 = p.edges, p.datums
    pickedEdges =(e[i], )
    p.PartitionCellByExtrudeEdge(line=d1[3], cells=pickedCells, edges=pickedEdges,
    sense=REVERSE)

这是可行的吗?谢谢!


通常情况下,在不处理错误或异常的情况下抑制错误或异常是一种糟糕的做法,但可以这样轻松地做到:

1
2
3
4
try:
    # block raising an exception
except:
    pass # doing nothing on exception

这显然可以在任何其他控制语句中使用,例如循环:

1
2
3
4
5
for i in xrange(0,960):
    try:
        ... run your code
    except:
        pass