本文主要讲一下Abaqus脚本接口异常和异常处理方式的相关知识
1)标准Abaqus脚本接口异常
2)其他Abaqus脚本接口异常
3)错误处理
一、标准Abaqus脚本接口异常
标准Abaqus脚本接口异常由Abaqus/CAE中的脚本错误引起的
主要包括下列几种:
1. InvalidNameError
InvalidNameError异常表明脚本中定义了无效的名字
如:DisplayGroup(…)命令的异常类型为InvalidNameError
Abaqus/CAE创建对象时必须满足命名规则,否则出现无效的名字
2. RangeError
RangeError异常表明数据值超出了定义的范围
如:setValues()方法的异常类型为RangeError,如果某个值的区间在[a, b],但是setValues()方法如果不在这个区间的话就会产生RangeError异常
3. AbaqusError
AbaqusError异常是由于建模过程中的操作与前后设置(Context-dependent)的相关性,由Abaqus/CAE抛出一类错误。
4. AbaqusException
与AbaqusError相似
注:Abaqus只列出脚本接口异常的类型,而没有给出异常信息。编写和调试脚本过程中,要善于查找异常类型和异常信息来修改错误,逐渐积累经验。
二、其他Abaqus脚本接口异常
如果抛出的问题不属于标准Python语言异常或者标准Abaqus脚本接口异常,则按照下列顺序给出异常的详细信息:
1)对问题的简单介绍
2)异常的类型
3)异常的详细信息
注:根据需要读者还可以自定义异常,从而中断Abaqus的运算
三、错误处理
Python语言允许处理某些异常的同时继续运行脚本
但Abaqus/CAE抛出的异常将在信息提示区显示,同时中断执行脚本
如:下列将创建一个适当尺寸的视口。如果视口的宽度和高度太小,则输出相应的提示信息
try:
session.Viewport(name = "tiny", width = 1, height = 1)
except RangeError:
print("Viewport too small")
print("Script continues running and prints this line")
第2行代码创建名为tiny的新视口对象
第3行代码抛出RangeError异常
第4行代码输出异常提示信息
运行脚本后在信息提示框中出现异常提示信息