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.