Hướng dẫn what is throwable php? - php có thể ném là gì?
Gửi báo cáo yêu cầu kéo một lỗi (Php 7, Php 8) Có thể ném là giao diện cơ sở cho bất kỳ đối tượng nào có thể được ném thông qua câu lệnh
Bản tóm tắt giao diệnInterfacethRowableExtends Stringable { Throwable extends Stringable { / * Phương pháp */ publicGetMessage (): Chuỗi getMessage(): string publicGetCode (): int getCode(): int publicGetFile (): Chuỗi getFile(): string publicGetLine (): int getLine(): int publicGetTrace (): mảng getTrace(): array publicGetTraceAsString (): Chuỗi getTraceAsString(): string publicGetPrevious ():? Khả năng ném getPrevious(): ?Throwable Tóm tắtPublic__ToString (): Chuỗi public __toString(): string / * Phương pháp kế thừa */ PublicsTringable :: __ toString (): Chuỗi Stringable::__toString(): string } Thay đổi
Mục lục
+ Thêm một ghi chú Người dùng đóng góp ghi chú 2 ghi chúlên xuống 83 mlocati tại gmail dot com ¶ 5 năm trước echo 'XuanthuLab'3 echo 'XuanthuLab'4 echo 'XuanthuLab'5 echo 'XuanthuLab'6 lên xuống 5 mlocati tại gmail dot com ¶ 5 năm trước echo 'XuanthuLab'7 echo 'XuanthuLab'8 echo 'XuanthuLab'9 ; Bật hiện thị các thông báo lỗi display_errors = On ; Thiết lập các lỗi hiện thị - tất cả các lỗi ; Môi trường phát triển nên thiết lập error_reporting = E_ALL0 echo 'XuanthuLab'6 + Thêm một ghi chú
Tổng quan về các lỗi trong PHPTrong quá trình ứng dụng PHP (Website PHP) hoạt động, có thể có lỗi xảy ra, có những lỗi cảnh báo nhưng Script PHP vẫn chạy, có những lỗi làm cho chương trình kết thúc ngay lập tức, có những lỗi do bản thân hệ thống, có những lỗi do logic chương trình có vấn đề. Trong PHP các lỗi được phân ra thành các nhóm (loại): Mỗi nhóm biểu diễn bởi một giá trị và được định nghĩa bởi một hằng số trong PHP Nội dung chính
Trong quá trình ứng dụng PHP (Website PHP) hoạt động, có thể có lỗi xảy ra, có những lỗi cảnh báo nhưng Script PHP vẫn chạy, có những lỗi làm cho chương trình kết thúc ngay lập tức, có những lỗi do bản thân hệ thống, có những lỗi do logic chương trình có vấn đề. Trong PHP các lỗi được phân ra thành các nhóm (loại): Mỗi nhóm biểu diễn bởi một giá trị và được định nghĩa bởi một hằng số trong PHPNội dung chính Thiết lập các thông báo lỗi error_reporting() trong PHP Hàm trigger_error trong PHP, phát sinh thông báo lỗi Hàm set_error_handler trong PHP, đăng ký error_handler ; Bật hiện thị các thông báo lỗi display_errors = On ; Thiết lập các lỗi hiện thị - tất cả các lỗi ; Môi trường phát triển nên thiết lập error_reporting = E_ALL ; Thiết lập chỉ hiện thị lỗi E_DEPRECATED và E_STRICT ; Môi trường Product nên thiết lập error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT throw và lớp Exception trong PHP Sử dụng try ... catch ... để bắt ngoại lệ Tạo ngoại lệ riêng - tùy biến trong PHP error_reporting() để thiết lập các loại lỗi có thể hiện thị // Hiện thị tất cả các lỗi error_reporting(E_ALL); // Hoặc E_DEPRECATED và E_STRICT error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT) Thiết lập exception_handler bắt ngoại lệ bị bỏ qua bởi try ... catch... // Hiện thị E_DEPRECATED và E_STRICT ini_set('error_reporting', E_ALL & ~E_DEPRECATED & ~E_STRICT); Nội dung chínhThiết lập các thông báo lỗi error_reporting() trong PHP trigger_error($mgs, $error_level);
throw và lớp Exception trong PHP Thiết lập các thông báo lỗi error_reporting() trong PHPHàm trigger_error trong PHP, phát sinh thông báo lỗiE_USER_*, E_WARNING, E_NOTICE ... Đầu tiên bạn cần xây dựng một hàm callback có các tham số: // $errno : mã lỗi nhận được // $errstr: chuỗi thông báo lỗi // $errfile: file xảy ra lỗi // $errline: dòng có lỗi // $errcontext: mảng các biến tại thời điểm lỗi handler($errno, $errstr, $errfile = null, $errline = null, $errcontext = null) : bool Ví dụ xây dựng một hàm callback như sau: include ("file-ma-nguon-nay-khong-co.php");0 Để thiết lập nó là error handler, gọi hàm sau để đăng ký: include ("file-ma-nguon-nay-khong-co.php");1 Bạn cũng có thể dùng hàm vô danh làm handler, ví dụ: include ("file-ma-nguon-nay-khong-co.php");2 Sau khi đăng ký hàm error-handler mới, nếu muốn quay về trạng thái trước thì dùng hàm restore_error_handler(), hoặc set_error_handler(null) để hủy không sử dụng error handler.restore_error_handler(), hoặc set_error_handler(null) để hủy không sử dụng error handler. throw và lớp Exception trong PHPNgoại lệ là đối tượng chứa thông tin lỗi được phát sinh, bạn có thể tạo ra các ngoại lệ bằng cách tạo đối tượng mới từ bất kỳ lớp nào triển khai từ giao diện Throwable của PHP. Như các lớp // Hiện thị E_DEPRECATED và E_STRICT ini_set('error_reporting', E_ALL & ~E_DEPRECATED & ~E_STRICT);0, // Hiện thị E_DEPRECATED và E_STRICT ini_set('error_reporting', E_ALL & ~E_DEPRECATED & ~E_STRICT);1, // Hiện thị E_DEPRECATED và E_STRICT ini_set('error_reporting', E_ALL & ~E_DEPRECATED & ~E_STRICT);2, // Hiện thị E_DEPRECATED và E_STRICT ini_set('error_reporting', E_ALL & ~E_DEPRECATED & ~E_STRICT);3, // Hiện thị E_DEPRECATED và E_STRICT ini_set('error_reporting', E_ALL & ~E_DEPRECATED & ~E_STRICT);4 ... Khi có một ngoại lệ, giả sử là đối tượng // Hiện thị E_DEPRECATED và E_STRICT ini_set('error_reporting', E_ALL & ~E_DEPRECATED & ~E_STRICT);5, thì trong code bạn có thể phát - lan truyền ngoại lệ đó bằng từ khóa echo 'XuanthuLab'2. include ("file-ma-nguon-nay-khong-co.php");3 Khi code thi hành gặp lệnh echo 'XuanthuLab'2 thì khối code đó sẽ dừng tại echo 'XuanthuLab'2 Ví dụ: include ("file-ma-nguon-nay-khong-co.php");4 Giờ bạn sử dụng hàm, trường hợp này sẽ phát sinh ngoại lệ: include ("file-ma-nguon-nay-khong-co.php");5 Khi gọi chia_lay_du() mà nó có quăng (phát ra) ngoại lệ, nếu tại đó bạn không bắt ngoại lệ lại để xử lý thì mặc định sẽ phát sinh lỗi Fatal error, và toàn bộ chương trình kết thúc tại điểm phát sinh ngoại lệ. Sử dụng try ... catch ... để bắt ngoại lệHiển nhiên, bạn muốn bắt lại ngoại lệ để điều hướng chương trình theo phương án tốt nhất. Lúc đó bạn sẽ sử dụng cú pháp try ... catch ... try ... catch ... Cú pháp cơ bản như sau: include ("file-ma-nguon-nay-khong-co.php");6 Ví dụ: include ("file-ma-nguon-nay-khong-co.php");7 Giờ bạn sử dụng hàm, trường hợp này sẽ phát sinh ngoại lệ: Khi gọi chia_lay_du() mà nó có quăng (phát ra) ngoại lệ, nếu tại đó bạn không bắt ngoại lệ lại để xử lý thì mặc định sẽ phát sinh lỗi Fatal error, và toàn bộ chương trình kết thúc tại điểm phát sinh ngoại lệ. Sử dụng try ... catch ... để bắt ngoại lệ include ("file-ma-nguon-nay-khong-co.php");8 Hiển nhiên, bạn muốn bắt lại ngoại lệ để điều hướng chương trình theo phương án tốt nhất. Lúc đó bạn sẽ sử dụng cú pháp try ... catch ... Cú pháp cơ bản như sau: include ("file-ma-nguon-nay-khong-co.php");9 Như vậy, khi có ngoại lệ, bạn đã điều hướng được chương trình bằng cách xử lý ngoại lệ đó, chứ không bị kết thúc đột ngột tại nơi phát sinh ngoại lệ.Nhiều khối catch echo 'XuanthuLab'0 Bạn có thể sử dụng nhiều khối // Hiện thị E_DEPRECATED và E_STRICT ini_set('error_reporting', E_ALL & ~E_DEPRECATED & ~E_STRICT); 9 liên tiếp nhau để bắt các ngoại lệ phù hợp:Thêm vào finally echo 'XuanthuLab'1 Trong cú pháp trigger_error($mgs, $error_level);0 bạn cũng có thể tạo ra một khối ở cuối cùng có tên là trigger_error($mgs, $error_level);1, các code trong khối này luôn được thi hành dù có phát sinh ngoại lệ hay không. |