Xử lý ngoại lệ và lỗi (Error và Exception Handling) trong PHP | 297 bài hướng dẫn PHP hay nhất php error handling

7 215 0
Xử lý ngoại lệ và lỗi (Error và Exception Handling) trong PHP | 297 bài hướng dẫn PHP hay nhất php error handling

Đang tải... (xem toàn văn)

Thông tin tài liệu

http://vietjack.com/php/index.jsp Copyright © vietjack.com Xử lý ngoại lệ lỗi (Error & Exception Handling) Xử lý lỗi tiến trình bắt lỗi tạo chương trình bạn sau thực hành động thích hợp bạn xử lý lỗi khơng xác, dẫn tới nhiều kết không mong đợi Trong PHP, đơn giản để xử lý lỗi Sử dụng hàm die() PHP Trong lập trình PHP, bạn nên kiểm tra tất điều kiện lỗi có trước tiếp tục thực hành động thích hợp cần thiết Bạn thử ví dụ sau mà khơng có /tmp/test.xt file với file Theo cách này, bạn viết code hiệu Sử dụng kỹ thuật trên, bạn dừng chương trình bạn xảy lỗi hiển thị thông báo thân thiện ý nghĩa tới người dùng http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/php/index.jsp Copyright © vietjack.com Tự định nghĩa hàm để xử lý lỗi PHP Bạn viết hàm riêng cho bạn để xử lý lỗi PHP cung cấp cho bạn framework để định nghĩa hàm xử lý lỗi Hàm phải có khả để thao thác hai tham số (error level error message), tới tham số (tùy ý: file, line-number, error context): Cú pháp error_function(error_level,error_message, error_file,error_line,error_context); Bảng chi tiết tham số trên: Tham số Miêu tả error_level Bắt buộc - Xác định cấp độ lỗi cho lỗi tự định nghĩa (user-defined) Phải giá trị số error_message Bắt buộc - Xác định error message lỗi tự định nghĩa error_file Tùy ý - Xác định tên file lỗi xảy error_line Tùy ý - Xác định số dòng lỗi xảy error_context Tùy ý - Xác định mảng chứa biến giá trị chúng, sử dụng lỗi xảy Cấp độ lỗi có PHP Những cấp độ lỗi kiểu lỗi khác Những giá trị sử dụng kết hợp sử dụng toán tử | Giá trị Hằng số Miêu tả E_ERROR Fatal run-time error Các lỗi nghiêm trọng việc thực http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/php/index.jsp Copyright © vietjack.com thi script bị dừng lại E_WARNING Non-fatal run-time error Các lỗi không nghiêm trọng việc thực thi script không bị dừng lại E_PARSE Compile-time parse error Lỗi parse thời gian biên dịch Các lỗi parse nên tạo parser E_NOTICE Run-time notice Script tìm thấy mà lỗi, xảy chạy script cách bình thường 16 E_CORE_ERROR Các Fatal error mà xuất cài đặt ban đầu PHP 32 E_CORE_WARNING Các non-fatal runtime error, xảy cài đặt ban đầu PHP 256 E_USER_ERROR Fatal error tạo người dùng Nó giống E_ERROR thiết lập lập trình viên sử dụng hàm trigger_error() PHP 512 E_USER_WARNING Non-Fatal error tạo người dùng Nó giống E_WARNING thiết lập lập trình viên sử dụng hàm trigger_error() PHP 1024 E_USER_NOTICE User-generated notice Nó giống E_NOTICE thiết lập lập trình viên sử dụng hàm trigger_error() PHP 2048 E_STRICT Run-time notice Kích hoạt để có thay đổi gợi ý từ PHP tới code bạn mà đảm bảo cho tính tương hợp code http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/php/index.jsp Copyright © vietjack.com 4096 E_RECOVERABLE_ERROR Fatal error bắt Giống E_ERROR bắt người dùng (tham khảo set_error_handler()) 8191 E_ALL Tất error warning, ngoại trừ E_STRICT (E_STRICT phận E_ALL PHP 6.0) Tất cấp độ lỗi thiết lập sử dụng hàm có sẵn PHP sau, với level giá trị định nghĩa bảng int error_reporting ( [int $level] ) Dưới cách bạn tạo hàm xử lý lỗi PHP: Khi bạn định nghĩa Error handler cho riêng bạn, bạn cần thiết lập sử dụng hàmset_error_handler có sẵn PHP Bây kiểm trả lại ví dụ việc gọi hàm mà không tồn Xử lý ngoại lệ (Exception Handling) PHP PHP có Exception Model tương tự ngơn ngữ lập trình khác Exception quan trọng cung cấp điều khiển tốt thông qua xử lý lỗi Dưới giải thích số từ khóa liên quan tới exception PHP:  Try − Một hàm sử dụng exception nên khối try Nếu exception khơng kích hoạt, code tiếp tục bình thường Tuy nhiên, exception kích hoạt, exception “thrown”  Throw − Đây cách bạn kích hoạt exception Mỗi “thrown” phải có “catch”  Catch − Mỗi khối “catch” thu nhận exception tạo đối tượng chứa thông tin exception Khi exception ném, code theo sau lệnh khơng thực thi, PHP cố gắng tìm kiếm khối catch so khớp Nếu exception không bắt, Fatal Error (lỗi nghiêm trọng) PHP thông báo với “Uncaught Exception ”  Một exception ném, bắt bên PHP Code bao quanh khối try  Mỗi khối try phải có khối catch tương ứng Nhiều khối catch sử dụng để bắt lớp exception khác  Các exception ném (hoặc ném lại) bên khối catch http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/php/index.jsp Copyright © vietjack.com Ví dụ Dưới đoạn code, bạn chép dán code vào file kiểm tra kết quả: Trong ví dụ trên, hàm $e->getMessage sử dụng để lấy error message Dưới số hàm sử dụng từ lớp Exception PHP  getMessage() − thông báo exception  getCode() − code exception  getFile() − tên source file  getLine() − source line  getTrace() − n mảng backtrace()  getTraceAsString() − chuỗi định dạng trace Tạo Custom Exception Handler PHP Bạn định nghĩa Exception Handler cho riêng bạn Bạn sử dụng hàm sau để thiết lập hàm xử lý ngoại lệ tự định nghĩa http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/php/index.jsp Copyright © vietjack.com string set_exception_handler ( callback $exception_handler ) Ở đây, exception_handler tên hàm để gọi uncaught exception xuất Hàm phải định nghĩa trước gọi hàm set_exception_handler() Ví dụ Bạn kiểm tra tập hợp hàm xử lý lỗi Hàm xử lý lỗi PHP http://vietjack.com/ Trang chia sẻ học online miễn phí Page ... } //set error handler set _error_ handler("handleError"); //trigger error myFunction(); ?> Xử lý ngoại lệ (Exception Handling) PHP PHP có Exception Model tương tự ngôn ngữ lập trình khác Exception. ..http://vietjack.com /php/ index.jsp Copyright © vietjack.com Tự định nghĩa hàm để xử lý lỗi PHP Bạn viết hàm riêng cho bạn để xử lý lỗi PHP cung cấp cho bạn framework để định nghĩa hàm xử lý lỗi Hàm phải... thác hai tham số (error level error message), tới tham số (tùy ý: file, line-number, error context): Cú pháp error_ function (error_ level ,error_ message, error_ file ,error_ line ,error_ context); Bảng

Ngày đăng: 02/12/2017, 20:45

Từ khóa liên quan

Mục lục

  • Xử lý ngoại lệ và lỗi (Error & Exception Handling)

    • Sử dụng hàm die() trong PHP

    • Tự định nghĩa hàm để xử lý lỗi trong PHP

      • Cú pháp

      • Cấp độ lỗi có thể có trong PHP

      • Xử lý ngoại lệ (Exception Handling) trong PHP

        • Ví dụ

        • Tạo Custom Exception Handler trong PHP

        • Ví dụ

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan