Lệnh throw
Lệnh throw được sử dụng để ném ra một ngoại lệ một cách tường minh trong PHP.
Nó nhận một tham số duy nhất - đối tượng ngoại lệ, phải là một thể hiện của lớp,
được kế thừa từ lớp cơ sở Exception. Khi gọi hàm này, việc thực thi mã hiện tại
sẽ lập tức dừng lại, và PHP cố gắng tìm khối catch tương ứng để xử lý ngoại lệ.
Cú pháp
throw new ExceptionClass(message, code, previous);
Ví dụ
Ví dụ đơn giản về việc tạo ngoại lệ:
<?php
$age = -5;
if ($age < 0) {
throw new Exception('Tuổi không thể là số âm');
}
?>
Kết quả thực thi mã:
Fatal error: Uncaught Exception: Tuổi không thể là số âm
Ví dụ
Ví dụ với việc xử lý ngoại lệ:
<?php
try {
$res = 10 / 0;
if (is_infinite($res)) {
throw new Exception('Chia cho không');
}
} catch (Exception $e) {
echo 'Lỗi: ' . $e->getMessage();
}
?>
Kết quả thực thi mã:
'Lỗi: Chia cho không'
Ví dụ
Sử dụng ngoại lệ tùy chỉnh:
<?php
class MyCustomException extends Exception {}
try {
throw new MyCustomException('Thông báo lỗi tùy chỉnh');
} catch (MyCustomException $e) {
echo 'Bắt được lỗi tùy chỉnh: ' . $e->getMessage();
}
?>
Kết quả thực thi mã:
'Bắt được lỗi tùy chỉnh: Thông báo lỗi tùy chỉnh'