Cách vượt qua ngoại lệ trong Python
Ở đây chúng tôi đang chuyển một biến cho ngoại lệ đã cho. Chúng tôi đang xác định một ngoại lệ tùy chỉnh ExampleException là một lớp con của lớp cơ sở Ngoại lệ và cũng xác định phương thức __init__. Chúng tôi sử dụng khối thử ngoại trừ để tăng ngoại lệ và chuyển biến cho ngoại lệ như sau Show
Ví dụclass ExampleException(Exception): def __init__(self, foo): self.foo = foo try: raise ExampleException("Bar!") except ExampleException as e: print e.foo đầu ra"C:/Users/TutorialsPoint1/~bar.py" Bar! Có khá nhiều ngoại lệ tích hợp trong Python thường được nêu ra tùy thuộc vào loại lỗi gặp phải trong chương trình.
Tại sao điều quan trọng là phải xử lý các ngoại lệ?Các ngoại lệ chưa được xử lý trong một chương trình cuối cùng dẫn đến các chương trình gặp sự cố với thông báo lỗi được hiển thị trong thiết bị đầu cuối Do đó, khi phát triển các ứng dụng mà cuối cùng sẽ được sử dụng bởi nhiều người dùng, chúng tôi cần đảm bảo rằng tất cả các ngoại lệ đều được xử lý.
Làm thế nào để xử lý ngoại lệ?Trong bài viết này, chúng ta sẽ khám phá các trường hợp ngoại lệ xảy ra như thế nào và cách chúng ta có thể xử lý chúng Có thể bạn quan tâmTrong ví dụ bên dưới, chúng ta có một hàm đơn giản nhận ba số làm tham số và cộng chúng lại với nhau rồi trả về giá trị
Sử dụng hàm add()Bây giờ, giả sử chúng ta cố tình chuyển một chuỗi làm một trong các đối số khi gọi hàm add() Rõ ràng, điều này sẽ dẫn đến lỗi vì toán tử cộng chỉ có thể được sử dụng để tìm tổng của các loại số;
Sử dụng các khối thử ngoại trừTrong Python, các trường hợp ngoại lệ được xử lý tốt nhất bằng cách sử dụng mệnh đề try và except. Chúng tôi sẽ đặt một phần của chương trình có khả năng dẫn đến lỗi dưới mệnh đề try. Mặt khác, mệnh đề except sẽ xử lý ngoại lệ nếu nó xảy ra.
Do đó, trong khối ngoại lệ, chúng ta có thể viết bất kỳ mã nào mà chúng ta muốn được thực thi khi xảy ra lỗi trong chương trình Cách ném ngoại lệ trong Python – Sử dụng câu lệnh “pass”Trong mã bên dưới, chúng tôi đã sử dụng câu lệnh pass làm trình giữ chỗ, do đó sẽ không có gì được thực thi nếu một ngoại lệ xảy ra trong chương trình của chúng tôi
Trong chương trình Python ở trên, không có ngoại lệ nào xảy ra do đó mã trong khối thử được thực thi thành công. Ngoài ra câu lệnh in cuối cùng cũng được thực hiện kết quả là ta có hai số 6 được in ra Tuyên bố vượt qua trong thực tếTuy nhiên, nếu xảy ra lỗi, mã trong mệnh đề try sẽ không được thực thi, thay vào đó, mệnh đề ngoại trừ được gọi Vì chúng tôi chỉ có một câu lệnh vượt qua bên dưới khối ngoại trừ nên không có gì thực sự xảy ra. Trong trường hợp này, chỉ có câu lệnh in cuối cùng sẽ được thực thi, do đó chúng tôi chỉ nhận được một câu lệnh in sáu
Cách ném ngoại lệ trong Python – Các loại ngoại lệ cụ thểMặc dù phương thức này hoạt động nhưng nó không phải là cách lý tưởng để xử lý các ngoại lệ trong Python. Nó được coi là một thực hành tốt khi chúng tôi chỉ định ngoại lệ chính xác mà mệnh đề ngoại trừ sẽ xử lý Điều này cho phép chúng tôi nắm bắt các ngoại lệ chính xác và cũng nhận được thông báo lỗi chính xác. Xin lưu ý rằng chúng tôi cũng có thể đặt bí danh cho các ngoại lệ cho phép chúng tôi truy cập các thuộc tính của chúng bằng các tên phổ biến như chúng tôi đã thực hiện bên dưới
Trong ví dụ trên, chúng tôi đã xử lý thành công các ngoại lệ TypeError trả về một thông báo chính xác. Chúng tôi cũng có thể lưu ý rằng câu lệnh in cuối cùng vẫn được thực thi
Cách ném ngoại lệ trong Python – Sử dụng từ khóa “raise”Bây giờ nếu chúng ta muốn ngăn chương trình thực hiện thêm bất kỳ câu lệnh nào xuất hiện sau khối try and except này thì chúng ta có thể sử dụng raise . Từ khóa nâng cao cho phép chúng tôi ném ngoại lệ theo cách thủ công, in thông báo lỗi chi tiết và cũng dừng mọi hoạt động thực thi chương trình tiếp theo
Khi viết các ngoại lệ mã sẵn sàng sản xuất thường sẽ được ghi lại và lưu trữ ở đâu đó mà người ta có thể dễ dàng truy cập và truy xuất chúng Câu lệnh raise thực sự hữu ích khi chúng ta không chắc chắn về loại Exception mà chúng ta đang mong đợi trong mã của mình. Trong trường hợp như vậy, từ khóa nâng cao trả về một thông báo lỗi chi tiết mà chúng ta có thể tham khảo
Tóm lượcĐây là cách ném một ngoại lệ trong Python trong thực tế. Nếu bạn muốn xem thêm các hướng dẫn lập trình, hãy xem kênh YouTube của chúng tôi, nơi chúng tôi có rất nhiều video hướng dẫn Python bằng tiếng Anh Trong chuỗi Hướng dẫn lập trình Python của chúng tôi, bạn sẽ tìm thấy các tài liệu hữu ích giúp bạn cải thiện kỹ năng lập trình của mình và đẩy nhanh quá trình học tập hướng dẫn lập trình
Bạn có muốn học cách viết mã trực tuyến không? Làm cách nào để sử dụng ngoại lệ trong Python?Thử và loại trừ Khối. Xử lý ngoại lệ. Khối try and except trong Python được sử dụng để bắt và xử lý các ngoại lệ . Python thực thi mã sau câu lệnh try như một phần “bình thường” của chương trình. Mã theo sau câu lệnh ngoại trừ là phản hồi của chương trình đối với bất kỳ ngoại lệ nào trong mệnh đề thử trước đó.
Chúng ta có thể sử dụng pass in except Python không?Câu lệnh Python Pass có xử lý ngoại lệ
. If you don't want to do anything for a specific type of Exception after catching it you can use pass statement.
Python xử lý các ngoại lệ và lỗi như thế nào?Không thể xử lý lỗi, trong khi các ngoại lệ Python có thể được xử lý trong thời gian chạy. Lỗi có thể là lỗi cú pháp (phân tích cú pháp), trong khi có thể có nhiều loại ngoại lệ có thể xảy ra trong quá trình thực thi và không phải là không thể hoạt động vô điều kiện. . Lỗi cú pháp Lỗi bộ nhớ Lỗi đệ quy ngoại lệ |