Hướng dẫn raise custom exception python - nuôi trăn ngoại lệ tùy chỉnh
Python có rất nhiều trường hợp ngoại lệ tích hợp buộc chương trình của bạn phải xuất hiện lỗi khi có điều gì đó trong chương trình. Show Tuy nhiên, đôi khi bạn có thể cần tạo các ngoại lệ tùy chỉnh của riêng bạn phục vụ mục đích của bạn. Tạo các ngoại lệ tùy chỉnhTrong Python, người dùng có thể xác định các ngoại lệ tùy chỉnh bằng cách tạo một lớp mới. Lớp ngoại lệ này phải được bắt nguồn, trực tiếp hoặc gián tiếp, từ lớp
Ở đây, chúng tôi đã tạo ra một ngoại lệ do người dùng xác định gọi là 0 với thông báo lỗi tùy chọn.Khi chúng tôi đang phát triển một chương trình Python lớn, đó là một thông lệ tốt để đặt tất cả các ngoại lệ do người dùng xác định rằng chương trình của chúng tôi tăng lên trong một tệp riêng biệt. Nhiều mô -đun tiêu chuẩn làm điều này. Họ định nghĩa các ngoại lệ của họ một cách riêng biệt là 1 hoặc 2 (nói chung nhưng không phải luôn luôn).Lớp ngoại lệ do người dùng xác định có thể thực hiện mọi thứ mà một lớp bình thường có thể làm, nhưng chúng tôi thường làm cho chúng đơn giản và súc tích. Hầu hết các triển khai tuyên bố một lớp cơ sở tùy chỉnh và lấy các lớp ngoại lệ khác từ lớp cơ sở này. Khái niệm này được làm rõ hơn trong ví dụ sau. Ví dụ: Ngoại lệ do người dùng xác định trong PythonTrong ví dụ này, chúng tôi sẽ minh họa cách các trường hợp ngoại lệ do người dùng xác định có thể được sử dụng trong một chương trình để nâng cao và bắt lỗi. Chương trình này sẽ yêu cầu người dùng nhập một số cho đến khi họ đoán chính xác một số được lưu trữ. Để giúp họ tìm ra nó, một gợi ý được cung cấp cho dù dự đoán của họ lớn hơn hay ít hơn số được lưu trữ.
Dưới đây là một mẫu chạy của chương trình này. Enter a number: 12 This value is too large, try again! Enter a number: 0 This value is too small, try again! Enter a number: 8 This value is too small, try again! Enter a number: 10 Congratulations! You guessed it correctly. Chúng tôi đã xác định một lớp cơ sở gọi là 3.Hai trường hợp ngoại lệ khác ( 4 và 5) thực sự được tăng lên bởi chương trình của chúng tôi có nguồn gốc từ lớp này. Đây là cách tiêu chuẩn để xác định các ngoại lệ do người dùng xác định trong lập trình Python, nhưng bạn không chỉ giới hạn theo cách này.Tùy chỉnh các lớp ngoại lệChúng tôi có thể tùy chỉnh thêm lớp này để chấp nhận các đối số khác theo nhu cầu của chúng tôi. Để tìm hiểu về việc tùy chỉnh các lớp ngoại lệ, bạn cần có kiến thức cơ bản về lập trình hướng đối tượng. Truy cập chương trình theo định hướng đối tượng Python để bắt đầu tìm hiểu về lập trình hướng đối tượng trong Python. Hãy xem xét một ví dụ:
Đầu ra Enter salary amount: 2000 Traceback (most recent call last): File " Ở đây, chúng tôi đã ghi đè người xây dựng của lớp 7 và 8. Sau đó, hàm tạo của lớp phụ huynh Exception được gọi thủ công với đối số Enter a number: 12 This value is too large, try again! Enter a number: 0 This value is too small, try again! Enter a number: 8 This value is too small, try again! Enter a number: 10 Congratulations! You guessed it correctly.0 bằng cách sử dụng Enter a number: 12 This value is too large, try again! Enter a number: 0 This value is too small, try again! Enter a number: 8 This value is too small, try again! Enter a number: 10 Congratulations! You guessed it correctly.1. Thuộc tính Enter a number: 12 This value is too large, try again! Enter a number: 0 This value is too small, try again! Enter a number: 8 This value is too small, try again! Enter a number: 10 Congratulations! You guessed it correctly.2 tùy chỉnh được xác định sẽ được sử dụng sau. Phương pháp Enter a number: 12 This value is too large, try again! Enter a number: 0 This value is too small, try again! Enter a number: 8 This value is too small, try again! Enter a number: 10 Congratulations! You guessed it correctly.3 được kế thừa của lớp Exception sau đó được sử dụng để hiển thị thông báo tương ứng khi Enter a number: 12 This value is too large, try again! Enter a number: 0 This value is too small, try again! Enter a number: 8 This value is too small, try again! Enter a number: 10 Congratulations! You guessed it correctly.5 được nêu ra. Chúng ta cũng có thể tùy chỉnh phương thức Enter a number: 12 This value is too large, try again! Enter a number: 0 This value is too small, try again! Enter a number: 8 This value is too small, try again! Enter a number: 10 Congratulations! You guessed it correctly.3 bằng cách ghi đè nó.
Đầu ra Enter salary amount: 2000 Traceback (most recent call last): File "/home/bsoyuj/Desktop/Untitled-1.py", line 20, in Ở đây, chúng tôi đã ghi đè người xây dựng của lớp 7 và 8. Sau đó, hàm tạo của lớp phụ huynh Exception được gọi thủ công với đối số Enter a number: 12 This value is too large, try again! Enter a number: 0 This value is too small, try again! Enter a number: 8 This value is too small, try again! Enter a number: 10 Congratulations! You guessed it correctly.0 bằng cách sử dụng Enter a number: 12 This value is too large, try again! Enter a number: 0 This value is too small, try again! Enter a number: 8 This value is too small, try again! Enter a number: 10 Congratulations! You guessed it correctly.1. |