错误处理(除以零)

时间:2014-05-01 13:31:13

标签: python numpy error-handling runtime-error

我正在开展一个项目,我正在根据某些参数绘制卫星的轨道运动。 I' m绘图的等式如下:

R=r/(1+e*np.cos(phi))

其中r是轨道半径(如果它是圆形的),e是轨道的偏心距,phi是从0到{2*pi的圆柱角度{1}}。我一直在绘制e的不同值,如果我让e==1,我会从Python收到此消息:

  

RuntimeWarning:在除法中遇到零除

phi==pi

时发生

我想知道我可以做些什么来对我的代码进行错误检查,并告诉Python如果你收到这种错误,只是跳过那个计算并进入下一个计算?

1 个答案:

答案 0 :(得分:3)

我认为避免这种情况的最佳方法是先做一个IF语句,如果phi等于pi则不进入计算。我认为你不应故意在可预测的情况下犯错误。

为了使主题更清晰,在我看来,如果无法预测错误,则只应使用try / catch。 我不同意将错误用作可接受的软件行为或设计模式。

if(phi != PI):
    R=r/(1+e*np.cos(phi))

或者,如果您愿意,可以在phi == PI

时做出特殊行为