use*_*696 2 .net c# asp.net exception try-catch
有没有更好的方法来处理异常?我可以做同样的事情,但只有一次尝试捕获?
我是否需要创建自己的异常类?
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;
}
...
...
Run Code Online (Sandbox Code Playgroud)
如果可能,请勿对正常的程序流使用异常:
firstname = bd.ContainsKey("firstname") ? bd["firstname"] : null;
lastname = bd.ContainsKey("lastname") ? bd["lastname"] : null;
phone = bd.ContainsKey("phone") ? bd["phone"] : null;
Run Code Online (Sandbox Code Playgroud)
或(假设您正在访问Dictionary):
bd.TryGetValue("firstname", out firstname);
bd.TryGetValue("lastname", out lastname);
bd.TryGetValue("phone", out phone);
Run Code Online (Sandbox Code Playgroud)