Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah fungsi PHP mengembalikan ralat?

Bagaimanakah fungsi PHP mengembalikan ralat?

王林
王林asal
2024-04-10 21:03:02426semak imbas

Fungsi PHP boleh mengembalikan ralat dengan cara berikut: Mengembalikan nilai ralat secara langsung: Gunakan fungsi error_get_last() untuk mendapatkan maklumat ralat sebelumnya. Lempar pengecualian: Gunakan kata kunci lontaran untuk mencipta objek pengecualian yang mengandungi maklumat terperinci tentang ralat.

PHP 函数如何返回错误?

Bagaimana fungsi PHP mengembalikan ralat

Dalam PHP, fungsi boleh mengembalikan ralat dalam dua cara: mengembalikan nilai ralat secara langsung atau membuang pengecualian.

Kembalikan nilai ralat secara terus

Untuk mengembalikan nilai ralat secara terus, anda boleh menggunakan fungsi error_get_last(). Fungsi ini mengembalikan tatasusunan yang mengandungi mesej ralat sebelumnya. Contohnya: 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-catchrrreee

Dalam kes ini, jika fungsi divide() menemui pembahagian 0, ia akan mengembalikan tatasusunan ralat, termasuk jenis ralat, mesej ralat, fail tempat ralat berlaku, dan Nombor baris. 🎜🎜🎜Lempar pengecualian🎜🎜🎜Untuk membuang pengecualian, gunakan kata kunci lempar. Pengecualian ialah objek yang mengandungi maklumat terperinci tentang ralat. Contohnya: 🎜rrreee🎜Dalam kes ini, fungsi divide() akan membuang pengecualian DivisionByZeroException jika ia menemui pembahagian sebanyak 0. Pengecualian mengandungi maklumat ralat dan boleh diakses oleh blok try-catch yang menangkap pengecualian. 🎜

Atas ialah kandungan terperinci Bagaimanakah fungsi PHP mengembalikan ralat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Apakah unsur-unsur fungsi PHP?Artikel seterusnya:Apakah unsur-unsur fungsi PHP?