很诡异的被零除的问题
一个统计用户数据的程序, 前期调试完成后上线运行(DEBUG 模式)
错误处理我基本都做好了, 实在处理不来的直接在崩溃的时候往我邮箱里发邮件
邮件内容只包括错误文件、函数名、错误行, 但没有栈和内存的信息
程序在服务器中一直良好运行了2年多, 但在前天(礼拜四)那天, 居然收到了一封怪异的邮件
邮件是提示该程序发生被零除错误而崩溃.
这个错误发生的地方我没有做错误处理, 只做了条件判断处理
float xxxx(...)
{
int _users = 0;
int _score = 0;
// ... 其它代码
float _avg = _users ? _score / (float)_users : 0.0f;
// ... 其它代码
}
就这么一个简单的函数, 居然提示被零除了, 一直想不明白!!!
而且这个函数每时每刻都会被调用, 但就一直运行了2年多现在才报的错误!!!!
按正常情况, int 类型的数据不可能出现小数, 而我在进行除法前还判断了它是否为零了
但还是报被零除的错误, 这是什么情况??????