Hướng dẫn eoferror trong python
Show Đã đăng vào thg 3 30, 2018 3:44 CH 3 phút đọc OverviewTrong python cũng như tất các các ngôn ngữ lập trình khác, những trường hợp ngoại lệ luôn có thể xảy ra gây ra lỗi. Với các lỗi nhỏ không ảnh hưởng đến performance của app có thể chúng ta không để ý nhưng đôi khi xuất hiện một số lỗi có thể gây ra crash hoặc khiến server downtime. Trong bài này chúng ta sẽ đi tìm hiều cách mà Python xử lý khi có lỗi xảy ra. What is an Exception?Exception là một lỗi xảy ra trong quá trình thực thi một chương trình. Khi nó xảy ra, Python tạo ra một exception để xử lý vấn đề đó tránh cho ứng dụng hay server của bạn bị crash. Why use Exceptions ?Exceptions là một phương thức hết sức đơn giản để các bạn có thể handle những lỗi có thể xảy ra trong code của bạn. Khi bạn nghĩ đoạn code của bạn có thể gây ra lỗi bạn có thể sử dụng exceptions để detect và handle chúng. Exception ErrorsDưới đây là một số exception phổ biến trong Python: IOError Thường thì lỗi này liên quan đến tệp tin của bạn, có thể nó đã bị lỗi và không thể nào mở được. ImportError Lỗi này thường gặp khi python không thể nào tìm thấy module khi bạn thực hiện import chúng. ValueError Lỗi này xảy ra khi bạn truyền giá trị vào một function với đúng kiểu dữ liệu nhưng giá trị của nó lại không thích hợp. Exception Errors ExamplesĐể in ra chi tiết một số lỗi cơ bản trong python các bạn có thể làm như sau: Lấy một số ví dụ:
Set up exception handling blocksĐể sử dụng exception handling in Python, đầu tiên bạn cần phải làm sao detect được các ngoại lệ có thể phát sinh trong đoạn code của bạn. Trong python bạn có thể sử dụng từ khoá "try" và "except" để bắt toàn bộ ngoại lệ có thể xảy ra trong một khối code của bạn. Khối lệnh năm giữa "try" và "except" nếu xảy ra lỗi nó sẽ gọi ra trong block except tại đây chúng ta sẽ handle nó. Ví dụ:
Hoặc đơn giản nhất bạn có thể test như sau :3
How does it work?Việc xử lý lỗi được thực hiện thông qua việc sử dụng exceptions, Nó được thực thi trong try block và nếu bất có bất kỳ lỗi nào xảy ra nó sẽ được handle trong except block. In addition to using an except block after the try block, you can also use the finally block. Ngoài ra ngoài việc sử dụng try để detect exception và xử lý chúng trong except thì bạn cũng thể xử dụng một block khác mà python cung cấp cho bạn đó là finally. Đoạn code trong finally sẽ được thực thi bất kể khi có exception xảy ra.
Try ... finally clauseFinally là không bắt buộc. Nó được thêm vào với mục đích thực hiện một số tác vụ bất kể trong trường hợp có ngoại lệ xả ra.
Trong bài mình có đưa ra một số các cơ bản để handle các ngoại lệ có thể xảy ra trong quá trình phát triển phần mềm sử dụng ngôn ngữ python. Mong rằng nó giúp ích được các bạn. All rights reserved Hàm try() được sử dụng trong việc xử lý lỗi và ngoại lệ trong Python Có hai kiểu lỗi: – Syntax Error: Còn được gọi là Parsing Errors (lỗi phân tích cú pháp), là loại lỗi cơ bản nhất, được đưa ra khi Python parser (trình phân tích cú pháp của Python) không thể hiểu được một dòng code cụ thể nào đó. – Exception: Là những lỗi mà được phát hiện trong khi chương trình đang thực thi, ví dụ như lỗi ZeroDivisionError – Lỗi chia cho 0. Danh sách các Exception Errors – các lỗi ngoại lệ: – IOError: Nếu file không thể được mở ra – KeyboardInterrupt: Khi người dùng nhấn vào một phím không được yêu cầu – ValueError: Khi built-in function (hàm được tích hợp sẵn trong Python) nhận được một đối số sai (wrong argument) – EOFError: Nếu đọc được ký tự End-Of-File (tức là ký tự kết thúc file) mà trước đó không đọc được bất cứ dữ liệu nào. – ImportError: Nếu không thể tìm được module đang được import vào chương trình. Tiếp theo, chúng ta sẽ tìm hiểu về cách để xử lý các lỗi này bên trong code Python của mình. Ở đây, chúng ta sẽ cần tới cặp câu lệnh try-except. Cú pháp cơ bản:
Hàm try() hoạt động như thế nào? – Đầu tiên, câu lệnh try đầu tiên sẽ được thực thi, tức là phần code nằm giữa mệnh đề try và mệnh đề except sẽ được thực thi đầu tiên. – Nếu không có ngoại lệ nào được đưa ra, thì chỉ có mệnh đề try sẽ chạy, còn mệnh đề except sẽ không chạy mà đi vào trạng thái finished (đã hoàn thành) luôn. – Nếu có bất kỳ ngoại lệ nào xuất hiện, mệnh đề try sẽ được bỏ qua, và mệnh đề except sẽ chạy. – Nếu có bất kỳ ngoại lệ nào xuất hiện, nhưng mệnh đề except bên trong code không xử lý nó, thì nó sẽ được truyền lại lên trên cho mệnh đề try ở bên ngoài. Nếu ngoại lệ vẫn không được xử lý, thì chương trình sẽ dừng thực thi. – Một câu lệnh try có thể đi kèm với nhiều hơn một mệnh đề except. Ví dụ 1: Không có ngoại lệ xuất hiện, mệnh đề try sẽ chạy
– Kết quả in ra là:
Ví dụ 2: Có một ngoại lệ, vì vậy chỉ có mệnh đề except sẽ chạy
– Kết quả in ra là:
Nguồn và Tài liệu tiếng anh tham khảo:
Tài liệu từ cafedev:
Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:
Chào thân ái và quyết thắng! Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you! |