Tùy chỉnh Exceptions trong Python

Tram Ho

Chào các bạn trong bài viết này, mình sẽ giới thiệu với các bạn về cách tùy chỉnh các Exceptions trong Python.Mình sẽ giải thích cho các bạn hiểu và cách xử dụng chúng. Các bạn cùng tìm hiểu trong bài viết của mình nhé!


Trong bài này mình sẽ hướng dẫn các bạn cách tùy chỉnh các Exceptions theo mong muốn của cá nhân các bạn. Mình sẽ đưa ra những ví dụ để các bạn dễ hiểu hơn.

Trong Python đã có sẵn rất nhiều Exceptions được tích hợp sẵn.Tuy nhiên đôi khi bạn vẫn cần tạo ra các Exceptions của riêng mình để phục vụ mục đích của bạn.


Tạo Exceptions tùy chỉnh

Trong Python, người dùng có thể xác định các Exceptions tùy chỉnh bằng cách tạo mới 1 Exceptions. Exceptions tạo mới phải được dẫn xuất từ Exceptions có sẵn của hệ thống.

Ở ví dụ trên. Mình đã tạo 1 Exceptions có tên là CustomError từ Exceptions có sẵn. Exceptions mới này sẽ raise ra một message thông báo lỗi.

Khi thiết kế một chương trình Python bạn nên đặt tất cả các tất cả các Exceptions do người dùng định nghĩa ra một file riêng. Và define file dưới tên gọi exceptions.py hoặc là errors.py.


Ví dụ : Exception do người dùng định nghĩa trong Python

Ở trong ví dụ này mình sẽ minh họa các sử dụng Exception do người dùng định nghĩa ra trong một chương trình thực tế.

Chương trình này sẽ yêu cầu người dụng nhập một số cho đến khi số mà họ nhập đúng với số mà chúng ta đã định nghĩa sẵn.
Để giúp cho người dùng có thể tìm ra số đó nhanh hơn chúng ra sẽ define ra những message gợi ý cho họ.

Đây là ví dụ khi bạn chạy chương trình trên :

Chúng ta sẽ định nghĩa 1 call để gọi đến exceptions Error được định nghĩa sẵn trong hệ thống.
2 exceptions khác là (ValueTooSmallErrorValueTooLargeError) mà chương trình trên gọi đều được bắt nguồn từ class Error. Đây là một cách thông thường để xác định exceptions do người dụng define trong Python. Tuy nhiên bạn vẫn sẽ có những cách khác để tùy chỉnh exceptions.


Tùy chỉnh class Exception

Ta có thêm 1 cách nữa là tùy chỉnh class Exception để có thể nhận vào các đối số khác theo mong muốn của chúng ta.

Để tìm hiểu về cách tùy chỉnh các class Exception thì bạn cần có kiến thức cơ bản về lập trình Hướng Đối Tượng.

Dưới đây mình có 1 ví dụ :

Đầu ra của chương trình trên :

Ở đây chung ta đã ghi đè hàm tạo của class Exception để nhận vào 2 param là salarymessage.Sau đó hàm tạo của class Exception cha sẽ được gọi theo cách thủ công với đối số self.messag bằng cách sử dụng super().

Thuộc tính self.salary sẽ được sử dụng ở dưới.Sau đó, phương thức __str__ kế thừa của class Exception được sử dụng để hiển thị thông báo tương ứng khi SalaryNotInRangeError được raise.

Chúng ta cũng có thể tùy chỉnh chính phương thức __str__bằng cách ghi đè nó.

Đầu ra của chương trình :


Kết Luận

Dưới đây mình đã giới thiệu với các bạn cách tùy chỉnh Exception trong Python và 1 số ví dụ cụ thể
Nếu có bất kì thắc mắc gì hãy để lại comment ở phía dưới nhé.


Tham Khảo chi tiết hơn

https://www.programiz.com/python-programming/user-defined-exception

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo