【发布时间】:2016-06-15 17:39:36
【问题描述】:
我有一个名为ValidIP() 的方法,它接受string 并在字符串是有效IP 地址时返回true。示例 1 在 try/catch 语句之后返回 true,因为我不想在返回值时捕获异常。示例 2 在测试字符串后并在 try 指令中等待异常时直接返回该值。这是个人喜好问题还是一个更正确或更安全/不太容易崩溃的示例?
示例 1
private bool ValidIP(string ipAddress)
{
try
{
IPAddress.Parse(ipAddress);
}
catch
{
return false;
}
return true;
}
示例 2
private bool ValidIP(string ipAddress)
{
try
{
IPAddress.Parse(ipAddress);
return true;
}
catch
{
return false;
}
}
【问题讨论】:
-
两个程序完全等价...
-
除此之外,
private bool ValidIP(string ipAddress) { IPAddress tmp; return IPAddress.TryParse(ipAddress, out tmp);是最好的方法。这样您就不必处理抛出和捕获异常的开销了。
标签: c# ip-address