Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengendalian pengecualian PHP: memahami sifat dan kaedah objek pengecualian

Pengendalian pengecualian PHP: memahami sifat dan kaedah objek pengecualian

PHPz
PHPzasal
2024-06-05 09:15:57234semak imbas

Objek pengecualian PHP menyediakan maklumat pengecualian penting. Sifatnya termasuk: mesej ralat (getMessage()), kod ralat (getCode()), laluan fail pengecualian (getFile()), nombor baris fail pengecualian (getLine()), dan pengecualian sebelumnya (getPrevious()). Kaedahnya termasuk: tukar kepada rentetan (__toString()), dapatkan timbunan panggilan (getTrace(), getTraceAsString()).

Pengendalian pengecualian PHP: memahami sifat dan kaedah objek pengecualian

Pengendalian Pengecualian PHP: Memahami sifat dan kaedah objek pengecualian

Dalam PHP, objek pengecualian memberikan maklumat penting tentang peristiwa pengecualian. Dengan mengakses sifat dan kaedah objek pengecualian, pembangun boleh mendapatkan maklumat terperinci tentang jenis ralat, mesej ralat dan surih tindanan pengecualian.

Properties

  • getMessage(): Mengembalikan mesej pengecualian.
  • getCode(): Mengembalikan kod pengecualian (jika ada).
  • getFile(): Mengembalikan laluan fail di mana pengecualian berlaku.
  • getLine(): Mengembalikan nombor baris fail di mana pengecualian berlaku.
  • getPrevious(): Mengembalikan pengecualian sebelumnya (jika ada) yang menyebabkan pengecualian semasa.

Kaedah

  • __toString(): Mengembalikan perwakilan rentetan objek pengecualian, termasuk mesej, fail dan nombor baris.
  • getTrace(): Mengembalikan tatasusunan yang mengandungi butiran tindanan panggilan.
  • getTraceAsString(): Mengembalikan perwakilan rentetan bagi timbunan panggilan.

Kes praktikal

Contoh kod berikut menunjukkan cara menggunakan sifat dan kaedah objek pengecualian:

<?php

try {
    throw new Exception('自定义异常');
} catch (Exception $e) {
    echo '异常消息:' . $e->getMessage() . PHP_EOL;
    echo '异常代码:' . $e->getCode() . PHP_EOL;
    echo '异常文件:' . $e->getFile() . PHP_EOL;
    echo '异常行号:' . $e->getLine() . PHP_EOL;

    $trace = $e->getTrace();
    echo '调用堆栈:' . PHP_EOL;
    foreach ($trace as $item) {
        echo '    方法:' . $item['function'] . PHP_EOL;
        echo '    文件:' . $item['file'] . PHP_EOL;
        echo '    行号:' . $item['line'] . PHP_EOL;
    }
}
?>

Output:

rreee

Atas ialah kandungan terperinci Pengendalian pengecualian PHP: memahami sifat dan kaedah objek pengecualian. 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