Tôi có mảnh đơn giản mã này:Tôi nên làm gì khi buộc phải viết mã không thể truy cập?
public static int GetInt(int number)
{
int[] ints = new int[]{ 3, 7, 9, int.MaxValue };
foreach (int i in ints)
if (number <= i)
return i;
return int.MaxValue; //this should be unreachable code since the last int is int.MaxValue and number <= int.MaxValue is allways true so the above code will allways return
}
Vấn đề là trình biên dịch nói rằng không phải mọi con đường thực hiện trả về một giá trị. Vì vậy, tôi phải viết mã mà sẽ không bao giờ đạt được. Câu hỏi của tôi là, tôi nên làm gì trong tình huống như thế này? Tôi có nên trả lại một số giá trị mặc định hay tôi nên ném một ngoại lệ. Ngoài ra, nếu tôi muốn ném một ngoại lệ, ngoại lệ nào phù hợp để ném? Tôi không tìm thấy bất kỳ thứ gì như UnreachableCodeException
.
Bạn có thể tuyên bố 'i' ra của 'foreach' và ngăn chặn tình trạng trên' số <= i' với một' break' , và sau đó bạn chỉ có một 'return' – MilkyWayJoe