以下是我的代码,我需要在try块中出现异常的情况下继续循环。
for (int i = 0; i < doc.Length; i++)
{
name = doc[i].ToString();
try
{
if (name != "")
{
name=name.ToString().Substring(12);
break;
}
}
catch{
continue;
}
}
请告诉我在我的代码中的任何地方我是否错了。请检查性能是否明智。 提前谢谢。
答案 0 :(得分:2)
continue
是不需要的。它会自动继续。
答案 1 :(得分:1)
如果可以避免,则不需要异常处理:
for (int i = 0; i < doc.Length; i++)
{
name = doc[i].ToString();
if(name != null && name.Length >= 12)
{
name = name.Substring(12);
break;
}
}
永远不要将异常用于非特殊情况。如果您不希望任何文档的长度小于12,那么您可以使用异常(但也不仅仅用于控制流程):
for (int i = 0; i < doc.Length; i++)
{
name = doc[i].ToString();
if (name.Length < 12)
throw new FooException("Wrong document found!");
// do something with name
}
答案 2 :(得分:1)
var name = doc.FirstOrDefault(x => !string.IsNullOrEmpty(x) && x.Length >= 12);
答案 3 :(得分:0)
你不需要休息或继续这里。 试试这个。
for (int i = 0; i < doc.Length; i++)
{
name = doc[i].ToString();
try
{
if (!string.IsNotNullOrEmpty(name))
{
name=name.ToString().Substring(12);
}
}
catch{ }
}