Có bất kỳ cách nào có lợi cho return
giá trị sau throw
trong trường hợp ngoại lệ không? Nếu không, câu lệnh return
có thể bị loại bỏ và có thể xóa lỗi biên dịch C4715: not all control paths return a value
không?Trả lại sau khi ném ngoại lệ
Xin cảm ơn trước.
Edit: (mẫu mã)
for (ushort i = 0; i < itsNumUnits; ++i)
if (unitFormation[i] == unit)
{
return unitSetup[i];
}
else
throw unit;
return 0;
Nếu câu lệnh cuối cùng trong thói quen của bạn là 'ném' và bạn vẫn nhận được cảnh báo, có thể bạn nên đăng mẫu mã và nói trình biên dịch bạn đang sử dụng. –
Những gì tôi đã có trong tâm trí là một cái gì đó của loại mà tôi đã thêm vào câu hỏi ... Xin lỗi đã không thêm một mẫu trước. –
Cảnh báo trình biên dịch không phải là vấn đề với ngôn ngữ hoặc tiêu chuẩn, nhưng với trình biên dịch. Tôi giả sử bạn đang sử dụng một số phiên bản của Visual C++ từ các hình thức thông báo lỗi, nhưng nó có thể giúp đỡ để biết cái nào. –