現在の位置: ホーム> 最新記事一覧> 例外オブジェクトを介してPHP関数でエラーを処理する方法:実用的なガイド

例外オブジェクトを介してPHP関数でエラーを処理する方法:実用的なガイド

M66 2025-07-28

例外オブジェクトを介してPHP関数でエラーを処理する方法:実用的なガイド

導入

PHP関数は、例外オブジェクトをスローすることにより、コードの読みやすさと保守性を向上させることができます。例外オブジェクトを使用すると、エラー情報をカプセル化し、エラー処理をより明確にし、複雑なエラーチェックロジックを回避し、コールスタックに沿って伝播できるようになります。

例外オブジェクトの適用

PHPは、組み込みの例外オブジェクトタイプを提供し、ユーザー定義のカスタム例外オブジェクトをサポートします。開発者は、これらの例外オブジェクトを介してさまざまなタイプのエラーをキャッチおよび処理し、コードの柔軟性とフォールトトレランスを強化できます。

一般的な例外タイプ

PHPは複数の組み込みの例外クラスを提供します。一般的なクラスには以下が含まれます。

  • 例外:基本的な例外クラス
  • runtimeexception:ランタイムエラー例外クラス
  • TypeRror:TypeError Exceptionクラス
  • InvalidarGumentException:違法パラメーター例外クラス

カスタム例外オブジェクト

組み込みの例外タイプを使用することに加えて、PHPを使用すると、開発者は独自の例外クラスを定義して、アプリケーションの特定のエラーの処理を容易にすることもできます。

 class InvalidInputException extends Exception {}

たとえば、次のコードは、カスタム例外オブジェクトを作成およびスローする方法を示しています。

 throw new InvalidInputException('入力は空にすることはできません');

エラー処理プロセス

PHPでは、開発者はトライキャッチステートメントを通じて例外をキャッチおよび処理できます。簡単な例を次に示します。

 try {
    // 例外をスローする可能性のあるコード
} catch (Exception $e) {
    // 例外を処理します
}

実用的なケース

さまざまなシナリオで例外オブジェクトを使用する方法を示す2つの実用的なケースを次に示します。

入力を確認します

class InvalidInputException extends Exception {}

function validateInput(string $input) {
    if (empty($input)) {
        throw new InvalidInputException('入力は空にすることはできません');
    }
}

データベース操作

データベース操作では、例外オブジェクトを使用して、データベース接続エラーまたはクエリエラーをキャッチおよび処理できます。

 class DatabaseException extends RuntimeException {}

function queryDatabase(string $query) {
    try {
        // データベースをクエリします
    } catch (PDOException $e) {
        throw new DatabaseException($e->getMessage(), $e->getCode());
    }
}

要約します

PHP例外オブジェクトは、効率的で柔軟なエラー処理メカニズムを提供し、コードをより簡潔で明確にすることができます。組み込みの例外クラスとカスタム例外クラスを合理的に使用することにより、開発者はアプリケーションのさまざまなエラーを簡単に管理および処理できます。