2

例外を処理するためのより良い方法はありますか? 同じことができますが、try catch は 1 つだけですか?

独自の例外クラスを作成する必要がありますか?

try
{
   firstname = bd["firstname"].ToString();
}
catch (KeyNotFoundException fe)
{
   firstname = null;
}

try
{
   lastname = bd["lastname"].ToString();
}
catch (KeyNotFoundException fe)
{
   lastname = null;
}

try
{
   phone = bd["phone"].ToString();
}
catch (KeyNotFoundException fe)
{
   phone = null;
}

...
...
4

3 に答える 3

5

可能であれば、通常のプログラム フローに例外を使用しないでください。

firstname = bd.ContainsKey("firstname") ? bd["firstname"] : null;
lastname = bd.ContainsKey("lastname") ? bd["lastname"] : null;
phone = bd.ContainsKey("phone") ? bd["phone"] : null; 

または(にアクセスしていると仮定してDictionary):

bd.TryGetValue("firstname", out firstname);
bd.TryGetValue("lastname", out lastname);
bd.TryGetValue("phone", out phone);
于 2013-07-18T09:36:20.933 に答える
1

名 = Convert.ToString( bd["名"]);

姓 = Convert.ToString( bd["姓"]);

phone = Convert.ToString(bd["phone"]);

Convert.ToString("string Value") メソッド instend .ToString() を試して、例外を回避してください。

于 2013-07-18T09:58:19.667 に答える