modelx v0.6.1 (2020年4月29日)#

此版本为错误修复版本。

Bug修复#

  • 当回溯中的公式包含lambda表达式、推导式内的公式调用或嵌套函数时,get_traceback()存在bug(GH31)。

modelx v0.6.0 (2020年4月27日)#

本次发布实现了一种新的错误机制,用于追踪公式执行过程中引发的错误。错误信息也得到了改进。

功能增强#

公式错误

在公式执行过程中发生错误时,modelx的新默认行为是抛出FormulaError,而非原始异常。FormulaError的错误信息会显示原始异常的错误消息,随后附上modelx元素的回溯追踪,以及引发异常的公式源代码。要获取原始异常,请使用get_error()函数。 用户可以通过向use_formula_error()函数传递False来修改此默认行为,这种情况下将直接抛出原始错误。 get_traceback()函数以元组列表形式返回回溯信息。每个元组表示错误发生时执行调用堆栈中对某个公式的调用。元组的第一个元素是modelx对象的元素(多数情况下是Cells的元素),第二个元素是公式中的行号,指示调用下一个公式的位置;对于最后一个公式,则指示错误发生的位置。如果错误发生在公式执行前或执行后,最后一个公式的行号可能为0。

最后的错误信息可以通过get_error()get_traceback()获取,在下一次公式执行时会被清除。

向后不兼容的变更#

  • 在赋值给Cells时,无参数Cells隐式转换为其值的功能现已被移除。

Bug修复#

  • 由于公式执行失败导致的内部状态损坏。