Tiêu đề khá nhiều nói nhưng đây là một số nền:Thực hành không tốt là viết một phương thức không làm gì ngoại trừ việc ném một ngoại lệ?
Tôi có ứng dụng ASP.Net MVC nơi tôi cần kiểm tra danh sách đường dẫn tệp để tồn tại. Nếu bất kỳ đường dẫn nào không tồn tại thì một lỗi sẽ được trả về.
Hiện tại, tôi có bộ điều khiển cơ sở nơi sự kiện OnException được triển khai. Ở đây, bất kỳ ngoại lệ không được xử lý nào được xử lý và trang lỗi được trả lại cho người dùng bằng thông báo của ngoại lệ. Cách đơn giản nhất để tôi thực hiện kiểm tra ở trên là viết một phương thức kiểm tra từng đường dẫn để tồn tại và nếu bất kỳ đường dẫn nào bị lỗi, tôi chỉ cần ném (và đăng nhập) một ngoại lệ. Ngoại lệ này sau đó được xử lý bởi bộ điều khiển cơ sở và thông điệp thích hợp được trả về cho người dùng.
Vấn đề của tôi là làm điều này giống như thực hành không tốt. Tôi viết một phương thức trả về khoảng trống và mục đích duy nhất của nó là ném một ngoại lệ trong trường hợp hiếm hoi mà một trong các đường dẫn không tồn tại, trong hầu hết các trường hợp nó không làm gì cả. Đây có phải là một ý tưởng tồi không?
Điều gì làm bạn nghĩ rằng điều đó sai? Đó là một thực tế phổ biến, thậm chí bạn có thể xem các ví dụ về nó trong mã nguồn .NET framework. –
Tôi đoán nó chỉ cảm thấy sai. Nhưng thật tốt khi nhận được một số phản hồi rằng đây không phải là trường hợp. – zaq