PHP 7 Penanganan Kesalahan
PHP 7 untuk mengubah salah cara yang paling laporan. Tidak seperti error PHP mekanisme pelaporan tradisional 5, dan sekarang sebagian besar kesalahan yang dilemparkan sebagai kesalahan pengecualian.
Kesalahan pengecualian ini bisa senormal normal ditangkap blok try / catch. Jika tidak ada yang cocok blok try / catch, sebut pengecualian handler (() didaftarkan oleh set_exception_handler) untuk diproses. Jika Anda belum terdaftar pengecualian handler diproses dengan cara tradisional: dilaporkan sebagai kesalahan fatal (Fatal Kesalahan).
Kesalahan kelas tidak memperpanjang keluar dari kelas Exception, jadi gunakan catch (Exception $ e) {...} Kode ini tidak untuk menangkap kesalahan tersebut. Anda dapat menangkap kesalahan dengan menangkap (Error $ e) {...} Kode ini, atau dengan pengecualian handler terdaftar (set_exception_handler ()).
Kesalahan pengecualian hirarki
- kesalahan
- ArithmeticError
- AssertionError
- DivisionByZeroError
- ParseError
- TypeError
- pengecualian
- ...
contoh
contoh
MathOperations kelas
{
$ Dilindungi n = 10;
// Operasi Remainder, pembagi adalah 0, eksepsi dilemparkan
fungsi publik doOperation (): string
{
try {
$ Value = $ this -> n % 0;
kembali $ nilai;
} Catch (DivisionByZeroError $ e) {
kembali $ e -> getMessage () ;
}
}
}
$ MathOperationsObj = MathOperations baru ();
print ($ mathOperationsObj -> doOperation ( ));
?>
Output di atas eksekusi program adalah:
Modulo by zero