Hướng dẫn try catch foreach php - thử bắt foreach php
Nội dung chính ShowShow Show
1. Ngoại lệ (Exception) là cái khỉ gì?Bạn đã nghe nhiều đến Bug (hay còn gọi là lỗi) hoặc ngoại lệ trong lập trình rồi nhỉ?Bug (hay còn gọi là lỗi) hoặc ngoại lệ trong lập trình rồi nhỉ? Ví dụ thế này, bỗng một ngày đẹp trời bạn lướt facebook và bấm thả tim vào ảnh Crush của mình. Nhưng mà Fb lại bị lỗi khiến bạn không thể bấm thả tim được (Số trời định =))). Yên tâm, đây chỉ là lỗi kỹ thuật thôi. Điều này xảy ra mà các lập trình viên của Facebook không ngờ tới. Một ví dụ nữa, khi bạn đăng bài Facebook chẳng hạn. Bạn muốn post tấm hình bạn vừa chụp lên Facebook, theo quy định thì Facebook sẽ giảm chất lượng của tất cả các tấm ảnh tải lên. Nhưng hôm đấy máy chủ của Facebook bị "đơ" và không giảm dung lượng tấm ảnh của bạn. Đây là một ngoại lệ, xảy ra bên ngoài các trường hợp thông thường. Túm lại, để đơn giản. Bạn có thể hiểu là, chúng ta lập trình và mong muốn nó hành động nào đó. Và tất cả các hành động khác với mong muốn thì nó là ngoại lệ (Exception).ngoại lệ (Exception). Dĩ nhiên là bạn sẽ không muốn những ngoại lệ này phá hỏng chương trình của bạn rồi. Vì thế, bạn cần xử lý ngoại lệ.xử lý ngoại lệ. Bài này mình sẽ giúp bạn hiểu thêm về:
2. Xử lý lỗi trong PHP (PHP Error handling)Khi lỗi xảy ra, PHP hiển thị lỗi với một số thông tin để giúp bạn biết lỗi đó là gì và nằm ở chỗ nào.lỗi xảy ra, PHP hiển thị lỗi với một số thông tin để giúp bạn biết lỗi đó là gì và nằm ở chỗ nào. Dĩ nhiên là thông báo lỗi này không được thân thiện cho lắm. Nên người dùng sẽ chẳng hiểu là lỗi gì. Họ chỉ biết là họ đang có trải nghiệm tệ. Vì thế, để tránh làm các "Thượng đế" phật lòng. PHP cung cấp một số cách để xử lý lỗi. Chúng ta sẽ tìm hiểu về 3 phương pháp xử lý lỗi sau đây:
3. Ví dụ về cách xử lý lỗi trong chương trình PHPTrước tiên chúng ta thử đến với một số lỗi cơ bản. Ví dụ: C húng ta đang viết một chương trình PHP để thực hiện chia 2 số với nhau. một chương trình PHP để thực hiện chia 2 số với nhau.Đoạn code PHP cho chương trình trên như sau: Giả sử bạn đã lưu file Mở đường dẫn này Chúng ta nhận được kết quả như sau: Ví dụ về lỗi đơn giản trong chương trình PHP Như các bạn có thể nhìn thấy ở kết quả trên, chương trình xảy ra lỗi và hiển thị lỗi cho người dùng thấy. Việc này là không chuyên nghiệp và khiến khách hàng khó chịu. Chúng ta thử sửa đổi chương trình trên, viết cho nó một cách xử lý trong trường hợp này: Lưu code lại và lại chạy tệp Xử lý lỗi theo cách thông thường Như các bạn có thể nhìn thấy ở kết quả trên, chương trình xảy ra lỗi và hiển thị lỗi cho người dùng thấy. Việc này là không chuyên nghiệp và khiến khách hàng khó chịu. Chúng ta thử sửa đổi chương trình trên, viết cho nó một cách xử lý trong trường hợp này:custom error handlers Lưu code lại và lại chạy tệp Xử lý lỗi theo cách thông thường Chúng ta nhận được thông báo là không thể chia hết cho 0. Như các bạn có thể nhìn thấy ở kết quả trên, chương trình xảy ra lỗi và hiển thị lỗi cho người dùng thấy.custom error handlers cho phép chúng ta tùy chỉnh tin nhắn thông báo lỗi cho thân thiện và rõ ràng hơn. Việc này là không chuyên nghiệp và khiến khách hàng khó chịu. Chúng ta thử sửa đổi chương trình trên, viết cho nó một cách xử lý trong trường hợp này: có cú pháp như sau: Lưu code lại và lại chạy tệp
Các cấp độ report lỗi trong error_reporting
4. Sự khác nhau của Lỗi (Errors) và Ngoại lệ (Exception)Ngoại lệ (Exception) là trường hợp được ném và bắt trong khi lỗi thường không thể thu hồi lại. (Exception) là trường hợp được ném và bắt trong khi lỗi thường không thể thu hồi lại. Exception được xử lý trong hướng đối tượng. Điều này có nghĩa là khi ngoại lệ được ném ra, một đối tượng ngoại lễ sẽ được tạo và chứa thông tin chi tiết về ngoại lệ đó. Dưới đây là một số phương thức của đối tượng Exception. Phương thức getMessage(): Phương thức Phương thức getCode(): Phương thức Phương thức getFile(): Phương thức Phương thức getLine(): Phương thức Phương thức getTrace():Phương thức Phương thức getPrevious(): Phương thức Phương thức getTraceAsString(): Phương thức Phương thức __toString(): Phương thức Cú pháp để ném ra một ngoại lệỞ đây chúng ta có:
Đối với đoạn mã trên thì chúng ta nhận được thông báo như sau: Sử dụng throw keyword để ném ra một ngoại lệ Bây giờ chúng ta sẽ xem một ví dụ sử dụng 5. Ví dụ sử dụng Try Catch PHP để xử lý ngoại lệVí dụ sử về cách sử dụng try catch để xử lý ngoại lệ trong Lập trình PHP Bây giờ chúng ta sẽ xem một ví dụ sử dụng 5. Ví dụ sử dụng Try Catch PHP để xử lý ngoại lệtry catch php:
Giải thích cú pháp try catch php: try{...} đây là block code thực thi nói rằng, có thể nó sẽ xảy ra ngoại lệ. catch (Exception $e){...} Đây là block code sử dụng để bắt ngoại lệ được ném ra và gán đối tượng ngoại lệ cho biến Bây giờ chúng ta sẽ xem một ví dụ sử dụng 5. Ví dụ sử dụng Try Catch PHP để xử lý ngoại lệVí dụ sử về cách sử dụng try catch để xử lý ngoại lệ trong Lập trình PHP sử dụng nhiều block Cú pháp của
catch (Exception $e){...} Đây là block code sử dụng để bắt ngoại lệ được ném ra và gán đối tượng ngoại lệ cho biến Ví dụ bên dưới đây sẽ cố tình ném ra một ngoại lệ và bắt lại nó: Mở đường dẫn simple_error8 bạn sẽ nhận được kết quả như sau:Kết quả của một ví dụ sử dụng try catch php để xử lý ngoại lệ
Multiple Exceptions sử dụng nhiều block Multiple Exception có ích khi: Bạn muốn hiển thị thông điệp tùy thuộc vào ngoại lệ được ném ra Bạn muốn thực hiện một hành động độc đáo tùy thuộc vào ngoại lệ được ném ra. Sơ đồ dưới đây cho bạn thấy cách hoạt động của Multiple ExceptionsSơ đồ xử lý của Multiple Exceptionstry catch PHP này bạn đã biết:
Bây giờ chúng ta thử truyền vào một số là |