0

ゼロ除算を取得した場合、どうすればそれをキャッチして、エラーまたはその性質の何かをエコーすることができますか?

問題のコード行は次のとおりです。

$percent = round(100.0*($row['p2']/$row['p1']-1));
4

3 に答える 3

1

$row['p1']ゼロでないことを確認してください。

ゼロの場合は、何か他のことを行います (たとえば、エラーを報告します)。

于 2013-08-11T06:27:35.980 に答える
-2

$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']) を使用することをお勧めします。

于 2013-08-11T06:34:41.020 に答える