遭遇したエラー

Modulo by zero です。

パラメーターを計算するプログラムを動かしていると、このエラーが発生しました。

これは何 ?

Modulo は 剰余、つまり「割り算をして割り切れなかったあまり」のことです。

そして、 Modulo by zero は「ゼロで割り算はできないので、あまりも出せないよ」 という意味です。

エラーを解消するには

このエラーに対応するには、、、

割り算で、 ゼロで割ることは絶対に不可能 です。

ゼロ除算はできない のは、プログラマでなくても当たり前のことなので抑えておきたいですね。


さて、このエラーに対応するには、

「ゼロ除算になる場合」は割り算を回避する しかありません。

ゼロが入りそうな特殊なところがあった場合は、if で分岐を作って逃げてください。

PHP でのエラーケース

1100 / 0

のように、/ で商を求める場合、除数がゼロだと次のエラーが発生します。

1PHP Warning:  Division by zero in /hoge/fuga.php on line 2
1100 % 0

のように、% で剰余を求める場合、除数がゼロだと次のエラーが発生します。

1PHP Fatal error:  Uncaught DivisionByZeroError: Modulo by zero in /hoge/fuga.php:2

なんでエラーレベルが同じではないのでしょうね ?