Kor*_*tak 3 c# error-handling paradigms
在我的程序员的经验中,我尽可能地混合错误处理......我创造了我的个人风格.
但是,我想听听你认为在开始时和方法结束时错误处理的优缺点.
处理开头:
public String GenerateSomeStringData(String data, int value)
{
if (data == null)
throw new ArgumentNullException("data");
if (value <= 0)
throw new ArgumentException("value must be greater than zero");
int dataValue;
if (!int.TryParse(data, out dataValue))
throw new InvalidOperationException("data does not contain an integer");
return dataValue * 4 + value / 12;
}
Run Code Online (Sandbox Code Playgroud)
最后的处理:(同样的例子)
public String GenerateSomeStringData(String data, int value)
{
if (data != null)
{
if (value > 0)
{
int dataValue;
if (int.TryParse(data, out dataValue))
{
return dataValue * 4 + value / 12;
}
else
throw new InvalidOperationException("data does not contain an integer");
}
else
throw new ArgumentException("value must be greater than zero");
}
else
throw new ArgumentNullException("data");
}
Run Code Online (Sandbox Code Playgroud)
在决定如何处理此问题时,您使用什么标准?可读性,可维护性,简洁性?