首頁  >  文章  >  後端開發  >  PHP 函數如何回傳錯誤?

PHP 函數如何回傳錯誤?

王林
王林原創
2024-04-10 21:03:02399瀏覽

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 區塊存取。

以上是PHP 函數如何回傳錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn