/ 或 % 运算符第二个操作数的值为 0
C++-Undefined-Behavior-44
示例:
int foo(int a, int b) try
{
return a / b; // Undefined behavior if ‘b’ is zero
}
catch (...)
{
return 0; // Unreachable
}
除数为 0 会导致未定义的行为,且不受语言的异常机制控制。
依据
ISO/IEC 14882:2003 5.6(4)-undefined
ISO/IEC 14882:2011 5.6(4)-undefined