ホームページ  >  記事  >  バックエンド開発  >  PHP 関数はどのようにしてエラーを返すのでしょうか?

PHP 関数はどのようにしてエラーを返すのでしょうか?

王林
王林オリジナル
2024-04-10 21:03:02322ブラウズ

PHP 関数は、次の方法でエラーを返すことができます: エラー値を直接返す: error_get_last() 関数を使用して前のエラー情報を取得する。例外をスローする: throw キーワードを使用して、エラーに関する詳細情報を含む例外オブジェクトを作成します。

PHP 函数如何返回错误?

#PHP 関数がエラーを返す方法

PHP では、関数は 2 つの方法でエラーを返すことができます。エラー値を直接返すか、エラーをスローします。例外。

エラー値を直接返す

エラー値を直接返すには、

error_get_last() 関数を使用できます。この関数は、前のエラー メッセージを含む配列を返します。例:

<?php

function divide($dividend, $divisor) {
  if ($divisor == 0) {
    return error_get_last();
  }

  return $dividend / $divisor;
}

echo divide(10, 2); // 5
echo divide(10, 0); // Array ( [type] => 2 [message] => Division by zero [file] => /path/to/file.php [line] => 10 )
?>

この場合、

divide() 関数で 0 による除算が発生すると、エラーの種類、エラー情報、エラーの発生を含むエラー配列が返されます。ファイルと行番号。

例外をスローする

例外をスローするには、

throw キーワードを使用します。例外は、エラーに関する詳細情報を含むオブジェクトです。例:

<?php

class DivisionByZeroException extends Exception {}

function divide($dividend, $divisor) {
  if ($divisor == 0) {
    throw new DivisionByZeroException('Division by zero');
  }

  return $dividend / $divisor;
}

try {
  echo divide(10, 2); // 5
  echo divide(10, 0); // DivisionByZeroException: Division by zero
} catch (DivisionByZeroException $e) {
  echo $e->getMessage(); // Division by zero
}
?>

この場合、

divide() 関数は、0 による除算が発生すると DivisionByZeroException 例外をスローします。例外にはエラー情報が含まれており、例外をキャッチする try-catch ブロックによってアクセスできます。

以上がPHP 関数はどのようにしてエラーを返すのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。