Lệnh try
Cấu trúc try cho phép xử lý các ngoại lệ có thể phát sinh khi thực thi mã.
Đoạn mã tiềm ẩn nguy cơ được đặt trong khối try, còn bộ xử lý ngoại lệ nằm trong khối catch.
Ngoài ra, có thể sử dụng khối finally, khối này sẽ được thực thi trong mọi trường hợp.
Cú pháp
try {
// Mã có thể gây ra ngoại lệ
} catch (ExceptionType $e) {
// Xử lý ngoại lệ
} finally {
// Mã sẽ được thực thi trong mọi trường hợp
}
Ví dụ
Ví dụ đơn giản về xử lý ngoại lệ:
<?php
try {
throw new Exception('Đã xảy ra lỗi');
} catch (Exception $e) {
echo 'Đã bắt được ngoại lệ: ', $e->getMessage();
}
?>
Kết quả thực thi mã:
'Đã bắt được ngoại lệ: Đã xảy ra lỗi'
Ví dụ
Ví dụ sử dụng khối finally:
<?php
try {
echo 'Khối try được thực thi';
} finally {
echo ' - Khối finally được thực thi';
}
?>
Kết quả thực thi mã:
'Khối try được thực thi - Khối finally được thực thi'
Ví dụ
Xử lý các loại ngoại lệ khác nhau:
<?php
try {
// Mã có thể gây ra các ngoại lệ khác nhau
throw new InvalidArgumentException('Đối số không hợp lệ');
} catch (InvalidArgumentException $e) {
echo 'Đối số không hợp lệ: ', $e->getMessage();
} catch (Exception $e) {
echo 'Ngoại lệ chung: ', $e->getMessage();
}
?>
Kết quả thực thi mã:
'Đối số không hợp lệ: Đối số không hợp lệ'
Xem thêm
-
cấu trúc
throw,
dùng để tạo ra ngoại lệ -
hàm
set_exception_handler,
dùng để thiết lập bộ xử lý ngoại lệ