Tôi nhớ đọc một số hướng dẫn xử lý ngoại lệ để kiểm tra các tham số null đã được khuyến khích. Lý do cho điều này là, nếu bạn để lại mã như là, một ngoại lệ sẽ được nâng lên (NullReferenceExcpetion) khi bạn cố gắng sử dụng tham số. Cách khác là kiểm tra một cách rõ ràng cho null và ném một ArgumentNullException.Xử lý hay không để xử lý các tham số null với ngoại lệ
Điều này mang lại hiệu quả tương tự nhưng bạn phải thêm các dòng mã. Bạn sẽ không bao giờ viết mã để xử lý ngoại lệ và do đó bạn thực sự sẽ gặp phải những lỗi này khi chạy thử và sau đó sửa mã để ngăn chặn các ngoại lệ xảy ra ngay từ đầu.
Tôi không nói rằng tôi đồng ý với hướng dẫn nhưng điều đó có ý nghĩa khi tôi đọc nó lần đầu tiên và vẫn có ý nghĩa.
Tôi thường kiểm tra các tham số null trên các phương thức không phải riêng tư nhưng để lại phương thức riêng để ném NullReferenceException.
Có ai biết nếu có bất kỳ thực hành hướng dẫn tốt nhất/thực tế nào về điều này để tôi có thể cập nhật phương pháp tiếp cận của mình nếu cần không?
Không dứt khoát, nhưng sự khác biệt đối với tôi là một lập luận [Null] Ngoại lệ chỉ ra rằng đầu vào đã được xác nhận và cố tình từ chối, trong khi một NullReferenceException nghĩa là sử dụng không được kiểm soát của một tài liệu tham khảo unassigned (có thể thậm chí không vào thời điểm đó của cuộc gọi ban đầu), có thể là lỗi. Tôi có xu hướng sử dụng ArgumentNullException trên các phương thức công khai và Debug.Assert trong các phương thức riêng.Việc giải mã các dòng mã bổ sung có thể được giảm bớt một chút bằng cách sử dụng các đoạn mã để chèn các kiểm tra và ném rỗng. – shambulator