Edit: This problem is due to a bug, fixed in Scipy 0.15
As I'm developing and testing code, I may make a simple error, like a NameError. When I use scipy.integrate.odeint, odeint will print the error message, but keep integrating for however many timesteps I request, so I get many identical error messages. I presume that it has this behavior so that it can proceed when arithmetic errors occur (eg, divide by zero), but this is unhelpful behavior for programming errors.
Is there a way to get scipy to stop after the first error message? It would be best if I could get it to stop for bugs but not for arithmetic exceptions.