現在の位置: ホーム> 最新記事一覧> PHP例外処理練習:カスタム関数でエラーをエレガントにキャッチする方法

PHP例外処理練習:カスタム関数でエラーをエレガントにキャッチする方法

M66 2025-07-22

PHPカスタム関数で例外処理を使用する理由

PHP開発では、エラー処理はコードの堅牢性を確保するための重要な部分です。例外処理を使用すると、中央にエラーロジックを管理するだけでなく、コードの読みやすさとメンテナンスも改善します。特にカスタム関数では、例外を投げてキャッチすることにより、プログラムはさまざまな例外の状況をより優雅に扱うことができます。

実装手順の詳細な説明

例外をスローするカスタム関数を定義します

まず、カスタム関数を作成し、エラーが発生する可能性のある例外をスローします。たとえば、次の関数は部門操作を実行するために使用され、除数がゼロの場合に例外をスローします。

 function divide($num1, $num2) {
    if ($num2 == 0) {
        throw new Exception("Division by zero is undefined.");
    }
    return $num1 / $num2;
}

グローバル例外ハンドラーを登録します

set_exception_handler()を使用して例外ハンドラーを登録します。

 set_exception_handler(function($exception) {
    echo "Error: " . $exception->getMessage() . "\n";
});

関数を呼び出して、トライキャッチを使用して例外をキャッチします

カスタム関数を呼び出すときは、トライキャッチコードブロックを使用して例外をキャッチし、それに応じて処理します。

 try {
    $result = divide(10, 0);
} catch (Exception $e) {
    echo "Division by zero error: " . $e->getMessage() . "\n";
}

実用的なケースデモンストレーション

次の例は、上記のコンテンツを包括的に示しており、例外処理を使用してカスタム関数でゼロ分割エラーをキャッチする方法を示しています。

 <?php
function divide($num1, $num2) {
    if ($num2 == 0) {
        throw new Exception("Division by zero is undefined.");
    }
    return $num1 / $num2;
}

set_exception_handler(function($exception) {
    echo "Error: " . $exception->getMessage() . "\n";
});

try {
    $result = divide(10, 0);
} catch (Exception $e) {
    echo "Division by zero error: " . $e->getMessage() . "\n";
}
?>

操作結果の説明

上記のコードを実行すると、除数がゼロであるため例外がスローされ、例外はトライキャッチによってキャッチされ、エラーメッセージは出力されます。

ゼロによる分割エラー:ゼロによる分割は未定義です。

要約します

例外処理メカニズムを使用してカスタムPHP関数のエラーをキャッチすると、エラー処理がより集中して明確になるだけでなく、コードの堅牢性も向上させます。 Throwを合理的に使用して例外をスローし、 set_exception_handler Register Handler、およびTry-Catch Catch例外を使用することにより、エラーのためにプログラムが中断され、ユーザーエクスペリエンスの向上を防ぐことができます。