Lớp ngoại lệ "thích hợp" để tăng khi một trong các hàm của tôi phát hiện None
được thông qua khi giá trị đối số là bắt buộc? Ví dụ:Ngoại lệ thích hợp để tăng nếu Không gặp phải là đối số
def MyFunction(MyArg1, MyArg2):
if not MyArg2:
raise ?Error?
Tôi nghĩ rằng tôi đã nhìn thấy TypeError
sử dụng ở đây (và đó là sự thật mà tôi đang nhận một NoneType
nơi một số loại khác được dự kiến) nhưng điều đó không tấn công tôi như khá phù hợp với tình hình này nơi tôi nghĩ Ngoại lệ có thể rõ ràng hơn.
Bạn không nên làm kiểu kiểm tra đối số này. Đơn giản chỉ cần để cho nó thất bại hơn nữa với bất cứ điều gì ngoại lệ nó không thành công với. (Và nếu bạn thực sự * phải * làm điều này, 'TypeError' là ngoại lệ chính xác. Thêm một chuỗi giải thích để làm cho nó cụ thể hơn.) –
Tôi có lẽ sẽ nâng một' TypeError', có một cái nhìn tại các trường hợp ngoại lệ trăn cài sẵn tài liệu hướng dẫn: http://docs.python.org/library/exceptions.html –
@Sven: Tôi thường làm như bạn đề xuất, nhưng đây là trường hợp đặc biệt mà tôi muốn thực hiện việc kiểm tra này. –