Hướng dẫn what is a php exception? - ngoại lệ php là gì?
Các ngoại lệ được sử dụng để thay đổi luồng thông thường của tập lệnh nếu xảy ra lỗi được chỉ định. Show
Ngoại lệ là gìVới Php 5 đã xuất hiện một cách xử lý các lỗi đối tượng mới. Xử lý ngoại lệ được sử dụng để thay đổi luồng thông thường của thực thi mã nếu xảy ra một điều kiện lỗi (ngoại lệ) được chỉ định. Điều kiện này được gọi là một ngoại lệ. Đây là những gì thường xảy ra khi một ngoại lệ được kích hoạt:
Chúng tôi sẽ hiển thị các phương pháp xử lý lỗi khác nhau:
Lưu ý: Các trường hợp ngoại lệ chỉ nên được sử dụng với các điều kiện lỗi và không nên được sử dụng để nhảy đến một nơi khác trong mã tại một điểm được chỉ định. Exceptions should only be used with error conditions, and should not be used to jump to another place in the code at a specified point. Sử dụng cơ bản các ngoại lệKhi một ngoại lệ được ném, mã theo sau nó sẽ không được thực thi và PHP sẽ cố gắng tìm khối "bắt" phù hợp. Nếu một ngoại lệ không bị bắt, một lỗi gây tử vong sẽ được đưa ra với một thông báo "ngoại lệ chưa được thực hiện". Hãy cố gắng ném một ngoại lệ mà không bắt được nó: 1) & nbsp; & nbsp; & nbsp;} & nbsp; & nbsp; return true; } // kích hoạt Checknum ngoại lệ (2); ?> Mã trên sẽ gặp lỗi như thế này: Lỗi nghiêm trọng: Ngoại lệ 'ngoại lệ' với giá trị thông báo 'phải là 1 hoặc dưới' trong C: \ WebFolder \ test.php: 6 Stack Trace: #0 C: \ WebFolder \ test.php (12): CheckNum (28) #1 {main} ném vào C: \ WebFolder \ test.php trên dòng 6: Uncaught exception 'Exception' Thử, ném và bắtĐể tránh lỗi từ ví dụ trên, chúng ta cần tạo mã thích hợp để xử lý một ngoại lệ. Mã ngoại lệ thích hợp nên bao gồm:
Hãy cố gắng kích hoạt một ngoại lệ với mã hợp lệ: 1) & nbsp; & nbsp; & nbsp;} & nbsp; & nbsp; return true; } // kích hoạt Checknum ngoại lệ (2); ?> Mã trên sẽ gặp lỗi như thế này: Mã trên sẽ gặp lỗi như thế này: Lỗi nghiêm trọng: Ngoại lệ 'ngoại lệ' với giá trị thông báo 'phải là 1 hoặc dưới' trong C: \ WebFolder \ test.php: 6 Stack Trace: #0 C: \ WebFolder \ test.php (12): CheckNum (28) #1 {main} ném vào C: \ WebFolder \ test.php trên dòng 6 Thử, ném và bắtĐể tránh lỗi từ ví dụ trên, chúng ta cần tạo mã thích hợp để xử lý một ngoại lệ.
// Trình kích hoạt ngoại lệ trong khối "thử" thử & nbsp; {& nbsp; & nbsp; Checknum (2); & nbsp; & nbsp; // Nếu ngoại lệ được ném, văn bản này sẽ không được hiển thị & nbsp; & nbsp; echo 'nếu bạn thấy điều này, số này là 1 hoặc thấp hơn'; } // Bắt Exception Catch (Ngoại lệ $ e) & nbsp; {& nbsp; & nbsp; echo 'tin nhắn:'. $ e-> getMessage (); }?>Thông báo: Giá trị phải là 1 hoặc dưới Ví dụ giải thích: Mã trên ném một ngoại lệ và bắt nó: Hàm Checknum () được tạo. Nó kiểm tra xem một số lớn hơn 1. Nếu có, một ngoại lệ được ném Hàm CheckNum () được gọi trong khối "thử" Ngoại lệ trong hàm CheckNum () được ném Khối "bắt" lấy ngoại lệ và tạo một đối tượng ($ e) chứa thông tin ngoại lệ Thông báo lỗi từ ngoại lệ được lặp lại bằng cách gọi $ e-> getMessage () từ đối tượng ngoại lệ Ví dụ giải thích:Mã trên ném một ngoại lệ và bắt nó với một lớp ngoại lệ tùy chỉnh:
Nhiều trường hợp ngoại lệCó thể cho một tập lệnh sử dụng nhiều ngoại lệ để kiểm tra nhiều điều kiện. Có thể sử dụng một số khối IF..else, một công tắc hoặc làm tổ nhiều ngoại lệ. Các ngoại lệ này có thể sử dụng các lớp ngoại lệ khác nhau và trả về các thông báo lỗi khác nhau: theo hàng().' trong '. $ this-> getfile () & nbsp; & nbsp; & nbsp; . ':'. $ this-> getMessage (). ' không phải là địa chỉ e-mail hợp lệ '; & nbsp; & nbsp; & nbsp; trả về $ errormsg; & nbsp; }} $ email = ""; Hãy thử & nbsp; {& nbsp; & nbsp; // kiểm tra if & nbsp; ; & nbsp; & nbsp; & nbsp; ném công ty mới ($ email); & nbsp; & nbsp; Ném ngoại lệ mới ("Email $ là một ví dụ e-mail"); & nbsp; & nbsp;}} Catch (CustomException $ e) & nbsp; {& nbsp; & nbsp; echo $ e-> errorMessage (); } bắt (ngoại lệ $ e) & nbsp; {& nbsp; & nbsp; echo $ e-> getMessage (); }?> Ví dụ giải thích:Mã trên kiểm tra hai điều kiện và đưa ra một ngoại lệ nếu bất kỳ điều kiện nào không được đáp ứng:
Có thể cho một tập lệnh sử dụng nhiều ngoại lệ để kiểm tra nhiều điều kiện. Có thể sử dụng một số khối IF..else, một công tắc hoặc làm tổ nhiều ngoại lệ. Các ngoại lệ này có thể sử dụng các lớp ngoại lệ khác nhau và trả về các thông báo lỗi khác nhau:theo hàng().' trong '. $ this-> getfile () & nbsp; & nbsp; & nbsp; . ':'. $ this-> getMessage (). ' không phải là địa chỉ e-mail hợp lệ '; & nbsp; & nbsp; & nbsp; trả về $ errormsg; & nbsp; }} $ email = ""; Hãy thử & nbsp; {& nbsp; & nbsp; // kiểm tra if & nbsp; ; & nbsp; & nbsp; & nbsp; ném công ty mới ($ email); & nbsp; & nbsp; Ném ngoại lệ mới ("Email $ là một ví dụ e-mail"); & nbsp; & nbsp;}} $ email = ""; Hãy thử & nbsp; {& nbsp; & nbsp; // kiểm tra if & nbsp; ; & nbsp; & nbsp; & nbsp; ném công ty mới ($ email); & nbsp; & nbsp; Ném ngoại lệ mới ("Email $ là một ví dụ e-mail"); & nbsp; & nbsp;}} Catch (CustomException $ e) & nbsp; {& nbsp; & nbsp; echo $ e-> errorMessage (); } Ví dụ giải thích:bắt (ngoại lệ $ e) & nbsp; {& nbsp; & nbsp; echo $ e-> getMessage (); }?>
Nếu ngoại lệ không bị bắt trong khối "thử" hiện tại của nó, nó sẽ tìm kiếm một khối bắt ở "cấp cao hơn". Đặt trình xử lý ngoại lệ cấp cao nhấtHàm getMessage (); } set_exception_handler ('myException'); ném ngoại lệ mới ('ngoại lệ chưa được xảy ra'); ?> Đầu ra của mã trên phải là một cái gì đó như thế này: Ngoại lệ: Ngoại lệ không xảy ra Uncaught Exception occurred Trong mã trên không có khối "bắt". Thay vào đó, trình xử lý ngoại lệ cấp cao nhất đã kích hoạt. Chức năng này nên được sử dụng để bắt các ngoại lệ chưa học. Quy tắc cho các trường hợp ngoại lệ
Một quy tắc đơn giản: Nếu bạn ném một cái gì đó, bạn phải bắt nó. Làm thế nào chúng ta có thể đối phó với ngoại lệ trong PHP?Hãy thử, ném và bắt.. Hãy thử - một chức năng sử dụng một ngoại lệ phải nằm trong khối "thử". Nếu ngoại lệ không kích hoạt, mã sẽ tiếp tục như bình thường. .... Ném - Đây là cách bạn kích hoạt một ngoại lệ. .... Bắt - Khối "bắt" lấy một ngoại lệ và tạo một đối tượng chứa thông tin ngoại lệ .. Sự khác biệt giữa ngoại lệ và lỗi trong PHP là gì?Tóm tắt về sự khác biệt: Xử lý lỗi mặc định trong PHP rất đơn giản.Một thông báo lỗi với tên tệp, số dòng và thông báo mô tả lỗi được gửi đến trình duyệt.Các ngoại lệ được sử dụng để thay đổi luồng thông thường của tập lệnh nếu xảy ra lỗi được chỉ định.Điều này có thể được thực hiện bằng cách sử dụng hàm php die ().Exceptions are used to change the normal flow of a script if a specified error occurs. This can be done using PHP die() Function.
Có bao nhiêu loại ngoại lệ trong PHP?Lỗi PHP: 4 loại khác nhau (cảnh báo, phân tích, gây tử vong và lỗi thông báo)4 Different Types (Warning, Parse, Fatal, and Notice Error)
Php ngoại lệ ném là gì?Từ khóa ném được sử dụng để ném ngoại lệ.Ngoại lệ là một cách để thay đổi luồng chương trình nếu tình huống không mong muốn phát sinh, chẳng hạn như dữ liệu không hợp lệ.. Exceptions are a way to change the program flow if an unexpected situation arises, such as invalid data. |