OC

Knowledge OS
主帖 9 条回复

大家都怎么处理除0错误?

freecunix freecunix · 2013年11月22日 · 阅读 2 · 无人欣赏。

程序中用到除法时,大家都怎么处理的?

比如 a/b

要if(b!=0)a/b else ...

使用try-catch?

捕捉SIGFPE信号?在处理信号码FPE_INTDIV?

还是不管他??

回复

9 条
#1
nickel
2013年11月22日

你想太多了吧?最简单最直接的就好。

#3
tinyfool
2013年11月22日

任何用户输入的信息,都要做验证……

#7
nickel
2013年11月22日

是我就if一下好了,搞什么try catch或者信号那么复杂的,有必要吗?

try catch的话,我认为是除非你要给库的使用者一种统一以异常形式提供错误处理机制,否则我很少会刻意用。

信号的话,除非你要给其他进程了解你这个进程的状态,否则为啥要用?信号本来就是进程间通讯的一种渠道,不是进程内通讯的常规模式。

不管?不管程序就直接崩溃了。

#8
灵感之源
2013年11月22日

看具体业务需求。

如果业务要求无论如何要返回结果而不是抛错误,那就要容错,否则就记录一下返回消息什么的

#9
freecunix
2013年11月22日

8楼 @灵感之源 同意,还是的看需求选择处理方法。。

有没有什么办法定义一下,让所有除0操作都等于0? 有时候一大片除法,很头疼呀。

登录 或者 注册