Hướng dẫn dùng except python python
Hàm try() được sử dụng trong việc xử lý lỗi và ngoại lệ trong Python Show 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!Nội dung chính
1. Exception là gì?Exception: Là những lỗi xảy ra trong quá trình thực thi một chương trình (hay còn gọi là ngoại lệ), khiến chương trình bị dừng một cách đột ngột không như mong muốn. Exception khiến thay đổi luồng thực thi bình thường của chương trình. Khi một đoạn mã Python phát sinh ngoại lệ, ta cần xử lý ngoại lệ, nếu không chương trình sẽ bị dừng. Hướng dẫn xử lý ngoại lệ (exception) trong Python 2. Cơ chế xử lý Exception trong PythonCơ chế xử lý ngoại lệ của Python được cài đặt thông qua việc sử dụng các
khối lệnh:
Cơ chế xử lý lỗi của Python như sau:Nếu chương trình có lỗi, khối try sẽ dừng lại, và chương trình sẽ chuyển đến khối except để thực thi và xử lý lỗi. Nếu chương trình có nhiều khối except, thì từng khối sẽ lần lượt được đánh giá theo thứ tự từ trên xuống dưới, khối nào xử lý được lỗi thì sẽ được thực thi. Nếu chương trình không có lỗi, khối try sẽ được thực thi toàn bộ, chương trình không thực thi khối except. Ta có thể sử dụng nhiều khối except sau khối try, trong trường hợp ta muốn xử lý nhiều loại lỗi khác nhau. 3. Ví dụ về xử lý Exception trong PythonTrong ví dụ
xử lý Exception này, ta in ra giá trị của biến Trong chương trình, ta khai báo 2 khối print(age) except NameError: print("Bien age chua duoc dinh nghia") except: print("Co loi xay ra trong chuong trinh !") > Muốn biết các loại ngoại lệ (như là Khi thực thi chương trình, ta thấy chương trình hiện thông báo lỗi như ta mong muốn. Khối except đầu tiên được thực thi, vì ta chưa khai báo biến. Cơ chế xử lý Exception trong Python - VD1 Nếu ta thay đổi lại chương trình, ta sẽ thấy thông báo lỗi khác. Ở đây ta đã sửa lại chương trình, ta khai báo biến age = 5 print("age = " + age) except NameError: print("Bien age chua duoc dinh nghia") except: print("Co loi xay ra trong chuong trinh") Tuy nhiên, trong bài này, ta
đã cộng chuỗi sai, vì biến > Lưu ý: Khi nối chuỗi trong Python thì phải sử dụng cùng kiểu dữ liệu. Vì thế ta phải chuyển age thành kiểu Ta thấy chương trình đã không thực thi khối except đầu tiên (vì không có lỗi này), mà chương trình đã thực thi khối except thứ hai. Kết quả được hiển thị như hình bên dưới. Cơ chế xử lý Exception trong Python - VD2 Ngoài ra, ta có thể sử dụng từ khóa Dĩ nhiên là hành động sau khi đã thực thi khối Ví dụ: print("To be or not to be") except: print("Co loi xay ra !") else: print("Ket thuc chuong trinh") Trong ví dụ này, ta đã sử dụng khối Tuy nhiên, trong ví dụ này, khối Kết quả của chương trình hiển thị
khối Kết hợp sử dụng Else để để xử lý ngoại lệ trong Python Ví dụ về sử dụng khối finally trong Python Trong ví dụ dưới đây, ta sử dụng khối print(x) except: print("Co loi xay ra trong chuong trinh") finally: print("Thuc thi khoi finally !") Vì biến Chương trình sẽ thực thi khối Kết quả của chương trình hiển thị đúng như ta mong muốn: Cơ chế hoạt động của khối Finally khi xử lý ngoại lệ trong Python Tổng kếtNhư vậy bạn đã biết cơ chế hoạt động cũng như là cách xử lý ngoại lệ trong Python. Chúng ta sẽ còn sử dụng cơ chế này rất nhiều trong quá trình lập trình. Hãy cố gắng ghi nhớ nhé. Chúc bạn học Python tốt! TONY HÙNG CƯỜNG |