ゼロ除算を取得した場合、どうすればそれをキャッチして、エラーまたはその性質の何かをエコーすることができますか?
問題のコード行は次のとおりです。
$percent = round(100.0*($row['p2']/$row['p1']-1));
ゼロ除算を取得した場合、どうすればそれをキャッチして、エラーまたはその性質の何かをエコーすることができますか?
問題のコード行は次のとおりです。
$percent = round(100.0*($row['p2']/$row['p1']-1));
$row['p1']
ゼロでないことを確認してください。
ゼロの場合は、何か他のことを行います (たとえば、エラーを報告します)。
$row['p1'] の値が 0 の場合、ゼロ除算エラーが発生します。UIに醜い例外を表示せずにキャッチしたい場合は、このように書くことができます。
try {
$percent = round(100.0*($row['p2']/$row['p1']-1));
} catch() {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
これで、正確なエラー メッセージが表示されます。条件 if(0 !== $row['p1']) を使用することをお勧めします。