Version 2.7.0 release

Error Handling

More helpful exception information returned to Python if the error is considered fatal. This can be used to decide if the simulation can be restarted. Note that if this occurs during a solve, it is necessary for the user to restore the previous circuit and device solutions if a restart is desired. In addition, model evaluation is reset so that no false cyclic dependencies are reported after an error.

In this example code below, the previously DEVSIM FATAL error string will now provide the context that a floating point exception occurred and be handled in Python.

    try:
        self.solve()
    except error as msg:
        m = str(msg)
        if 'Convergence failure' in m:
            self.set_vapp(last_bias)
        elif 'floating point exception' in m:
            self.set_vapp(last_bias)
            self.restore_callback(self.is_circuit)
        else:
            raise