Tôi có một hệ thống trong đó employeeId phải luôn tồn tại trừ khi có một số vấn đề cơ bản.C# Ném ngoại lệ khi sử dụng Assert?
Con đường tôi nhìn thấy nó, là tôi có hai lựa chọn để kiểm tra mã này:
1:
public void GetEmployee(Employee employee)
{
bool exists = EmployeeRepository.VerifyIdExists(Employee.Id);
if (!exists)
{
throw new Exception("Id does not exist");
}
}
hoặc 2:
public void GetEmployee(Employee employee)
{
EmployeeRepository.AssertIfNotFound(Employee.Id);
}
Là lựa chọn # 2 chấp nhận được trong ngôn ngữ C#?
Tôi thích nó vì nó gọn gàng trong đó tôi không thích nhìn "ném ngoại lệ mới (" bla bla bla ") nhập tin nhắn outsite phạm vi lớp học.
Tại sao không chỉ có phương pháp VerifyIdExists của bạn ném ngoại lệ thay cho bạn? – Tejs
Tôi không nghĩ có bất cứ điều gì sai trái với những gì bạn có ngoại trừ IMHO Tôi sẽ đổi tên thành ThrowIfNotFound. Tôi lấy nó đây là thứ mà bạn muốn đưa vào bản phát hành cũng như bản dựng gỡ lỗi của bạn. –