แนวปฏิบัติที่ดีที่สุดสำหรับการตรวจสอบความถูกต้องของพารามิเตอร์คอนสตรัคเตอร์คืออะไร?
สมมติว่า C # เป็นเรื่องง่าย:
public class MyClass
{
public MyClass(string text)
{
if (String.IsNullOrEmpty(text))
throw new ArgumentException("Text cannot be empty");
// continue with normal construction
}
}
มันจะเป็นที่ยอมรับที่จะโยนข้อยกเว้น?
ทางเลือกที่ฉันพบคือการตรวจสอบความถูกต้องก่อนที่จะสร้างอินสแตนซ์:
public class CallingClass
{
public MyClass MakeMyClass(string text)
{
if (String.IsNullOrEmpty(text))
{
MessageBox.Show("Text cannot be empty");
return null;
}
else
{
return new MyClass(text);
}
}
}