Hướng dẫn php get error type - php get loại lỗi
Trong bài này, chúng ta sẽ tìm hiểu về các loại lỗi (error) trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP.các loại lỗi (error) trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP. Nội dung chính Lỗi (error) là các vấn đề hoặc tình trạng bất thường, ảnh hưởng nghiêm trọng đến chương trình. Khi xảy ra lỗi, chương trình thường sẽ ngừng thực thi. Có 4 loại lỗi cơ bản trong PHP là:
1. Syntax error trong PHP2. Fatal error trong PHP còn gọi là lỗi cú pháp. Lỗi này xảy ra là do chúng ta không tuân thủ cú pháp của PHP khi soạn thảo chương trình. Các syntax error thường mắc phải như lỗi thiếu hoặc thừa dấu ngoặc, thiếu dấu chấm phẩy,… Lỗi cú pháp được phát hiện bởi trình thông dịch PHP (PHP interpreter). 3. Warning error trong PHP
4. Notice error trong PHP$x thiếu dấu chấm phẩy ; nên gây ra lỗi cú pháp. Bên dưới là một số ví dụ syntax error khác.
2. Fatal error trong PHP3. Warning error trong PHP xảy ra khi chúng ta gọi một hàm chưa được định nghĩa. Ví dụ:
4. Notice error trong PHP
3. Warning error trong PHP4. Notice error trong PHP là một cảnh báo và không dừng thực thi chương trình. Warning error thường xảy ra khi include hoặc require một file không tồn tại. Ví dụ:
4. Notice error trong PHP
4. Notice error trong PHP5. Error constants trong PHP tương tự như Warning error. Notice error thông báo chương trình có một vấn đề nào đó nhưng vẫn cho phép thực thi script PHP.
5. Error constants trong PHPHàm die() và exit()error constant được định nghĩa sẵn trong PHP.
Một fatal error sẽ làm dừng chương trình E_WARNING
E_CORE_ERROR Fatal error xảy ra khi PHP mới khởi chạy. Lỗi này liên quan đến core PHP Nội dung chính
Nội dung chính
Hàm die() và exit()Lỗi (error) là các vấn đề hoặc tình trạng bất thường, ảnh hưởng nghiêm trọng đến chương trình. Khi xảy ra lỗi, chương trình thường sẽ ngừng thực thi. Có 4 loại lỗi cơ bản trong PHP là: exit ([$status]) //hoặc exit ( int $status ) Parse error hoặc Syntax error Fatal error throw và lớp ExceptionSử dụng try ... catch ... để bắt ngoại lệErrorException, ), trong PHP7 còn có thêm 3 Sau đó để phát sinh ngoại lệ để chương trình chuyển hướng theo ngoại lệ bạn cần cú pháp 4, các lệnh tiếp sau 5 trong một block sẽ không được thi hành. Tạo các Exception riêng Khi có đoạn code gọi lệnh 5 như trên, chương trình sẽ điều hướng tới hàm bắt lỗi mặc định của PHP hàm này sẽ hiện thị các thông tin lỗi và kết thúc chương trình. Phần sau sẽ thảo luận cách xây dựng hàm này và đăng ký với PHPSử dụng try ... catch ... để bắt ngoại lệGiờ thay vì để hàm xử lỗi của PHP xử lý các Exception như trên, bạn muốn bắt các lỗi này ngay trong đoạn code xảy ra lỗi, để xử lý kết thúc hoặc chạy tiếp theo yêu cầu của bạn, lúc này bạn dùng cú pháp lệnh 7. Cú pháp cơ bản như sau: 0Nếu sử dụng code 7 như trên, thì code trong khối try nếu phát sinh exception thì chương trình không kết thúc mà chuyển hướng tới khối catch với thông tin về Exception là bến 9Trở lại ví dụ trên, viết để bắt ngoại lệ như sau: 1Bạn có thể sử dụng nhiều khối 0 để bắt các loại Exception khác nhau, ví dụ: 2Trong cú pháp 7 bạn cũng có thể tạo ra một khối ở cuối cùng có tên là 2, các code trong khối này luôn được thi hành 3Tạo các Exception riêngNếu lớp Exception mặc định như Exception, ErrorException chưa đủ dùng cho bạn, bạn có thể tạo ra các Exeption riêng bằng cách kế thừa lớp Exception 4Tạo exception_handler và error_handler riêngset_exception_handlerKhi ứng dụng phát sinh ngoại lệ bằng lệnh 5, nếu ngoại lệ không bị bắt lại bằng khối lệnh 7 thì ngoại lệ đó sẽ chuyển cho hàm xử lý ngoại lệ mặc định của PHP. Giờ nếu bạn muốn tạo ra hàm mặc định này thì làm như sau: Tạo hàm riêng xử lý ngoại lệ có dạng 5, sau đó dùng hàm set_exception_handler('my_exception_handler') để đăng ký với PHP. Ví dụ: 5set_error_handlerNgoài các ngoại lệ phát sinh do logic chương trình ra, ứng dụng có thể xảy ra các lỗi nghiêm trọng khác nhau trong quá trình chạy. Để định nghĩa hàm riêng các lỗi này thì bạn làm như sau: Tạo hàm riêng xử lý lỗi có dạng 6, sau đó dùng hàm set_error_handler('myErrorHandler') để đăng ký với PHP. Ví dụ: 6Bạn có thể một framework chuyên về error handler và exception handler whoops |