ホームページ > バックエンド開発 > PHPチュートリアル > PHP でゼロ除算エラーを処理するにはどうすればよいですか?

PHP でゼロ除算エラーを処理するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-04 21:31:11
オリジナル
912 人が閲覧しました

How Can I Handle Division by Zero Errors in PHP?

PHP でのゼロ除算エラーの処理

eval を使用して動的数式を評価する場合、ゼロ除算エラーの例外処理を確実に行うことが重要です。提供された例は、従来の try-catch ブロックがこれらのエラーをインターセプトしないことを示しています。

PHP7 以降のソリューション

PHP7 以降では、DivisionByZeroError 例外クラスが特にゼロ除算エラーを検出するために導入されました。実装方法は次のとおりです。

try {
    $result = eval($expression);
} catch (DivisionByZeroError $e) {
    $result = 0;
}
ログイン後にコピー

PHP7 以前のカスタム エラー処理

7 より前の PHP バージョンをサポートする必要がある場合は、カスタム エラー ハンドラーを使用できます。ゼロ除算エラーをインターセプトするために使用されます。このハンドラーは、これらのエラーをキャッチされた例外に変換できます:

function custom_error_handler($errno, $errstr) {
    if ($errno === E_DIVISION_BY_ZERO) {
        throw new Exception('Division by zero');
    }
}
ログイン後にコピー

式を評価する前に必ずカスタム エラー ハンドラーを登録してください:

set_error_handler('custom_error_handler');
$result = eval($expression);
restore_error_handler();
ログイン後にコピー

以上がPHP でゼロ除算エラーを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート