Ngoại lệ là một vấn đề phát sinh trong quá trình thực thi chương trình. Trong quá trình thực thi chương trình khi một ngoại lệ xảy ra, mã theo sau câu lệnh sẽ không được thực thi và PHP sẽ cố gắng tìm khối bắt phù hợp đầu tiên. Nếu một ngoại lệ không được phát hiện, một Lỗi nghiêm trọng trong PHP sẽ được đưa ra với “Ngoại lệ chưa được thông báo”.
Cú pháp
try {
print "this is our try block";
throw new Exception();
}catch (Exception $e) {
print "something went wrong, caught yah! n";
}finally {
print "this part is always executed";
} Ví dụ
<?php
function printdata($data) {
try {
//If var is six then only if will be executed
if($data == 6) {
// If var is zero then only exception is thrown
throw new Exception('Number is six.');
echo "\n After throw (It will never be executed)";
}
}
// When Exception has been thrown by try block
catch(Exception $e){
echo "\n Exception Caught", $e->getMessage();
}
//this block code will always executed.
finally{
echo "\n Final block will be always executed";
}
}
// Exception will not be rised here
printdata(0);
// Exception will be rised
printdata(6);
?> Đầu ra
Final block will be always executed Exception CaughtNumber is six. Final block will be always executed
Lưu ý
Để xử lý các ngoại lệ, mã chương trình phải bên trong một khối thử. Mỗi lần thử phải có ít nhất một khối bắt tương ứng. Nhiều khối bắt có thể được sử dụng để bắt các lớp ngoại lệ khác nhau.