首页 > 文章列表 > PHP 函数如何返回错误?

PHP 函数如何返回错误?

php 错误处理
475 2024-04-23

PHP 函数返回错误可以通过以下方式:直接返回一个错误值:使用 error_get_last() 函数获取上一个错误信息。抛出一个异常:使用 throw 关键字创建一个异常对象,包含有关错误的详细信息。

PHP 函数如何返回错误?

PHP 函数如何返回错误

在 PHP 中,函数可以通过两种方式返回错误:直接返回一个错误值或抛出一个异常。

直接返回错误值

要直接返回一个错误值,可以使用 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 块访问。