我想获取我计算机的所有 IP 地址。如果出现问题(异常),我只想返回空字符串。这是我使用的功能。GetHostEntry
会抛出几个异常,GetHostName
也会抛出异常。我应该如何处理所有这些异常?我应该一个一个地抓住它们吗?这会使代码混乱。还是我应该catch (Exception e)
在块内简单地使用并且什么都不做catch
?处理它的最佳方法是什么?
private string GetIpAddress()
{
var temp = new StringBuilder();
try {
var hostEntry = Dns.GetHostEntry(Dns.GetHostName());
var ips = from address in hostEntry.AddressList
where (address.AddressFamily == AddressFamily.InterNetwork)
select address;
foreach (IPAddress ip in ips) {
temp.Append(ip).Append(" ");
}
} catch (exception1) {
} catch (exception2) {
} .....
return temp.ToString();
}