我有一個名爲ValidIP()
的方法,它需要string
並且如果字符串是有效的IP地址,則返回true
。示例1在try
/catch
語句後返回true,因爲我不在意在返回值時捕獲異常。示例2在測試字符串並等待try指令中的異常之後直接返回值。這是個人喜好的問題還是一個更正確或更安全/不易崩潰的例子?從try/catch返回值的正確方法
例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;
}
}
這兩個程序是完全等效的... –
除了點,但私人布爾ValidIP(字符串ipAddress){IPAddress tmp;返回IPAddress.TryParse(ipAddress,out tmp);'是最好的方法。那麼你永遠不必處理投擲和捕捉異常的開銷。 –