コンピューターのすべてのIPアドレスを取得したい。何かがうまくいかない場合(例外)、私は単に空の文字列を返したいだけです。これが私が使っている関数です。GetHostEntry
いくつかの例外をスローし、GetHostName
また例外をスローします。これらすべての例外をどのように処理する必要がありますか?それぞれを1つずつキャッチする必要がありますか?これにより、コードが乱雑になります。または、ブロック内で単に使用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();
}