有没有更好的方法来处理异常?我可以做同样的事情,但只能尝试一次吗?

我需要创建自己的异常类吗?

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;
}

...
...

最佳答案

如果可能,请不要对正常程序流使用异常:

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);

关于c# - 在ASP .NET中处理异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17719689/

10-12 03:29