删除 Sonarqube 中的冗余跳转
Remove this redundant jump in Sonarqube
我有一个方法,其中有一个 for 循环。循环看起来类似于下面。
DirectoryInfo d = new DirectoryInfo(somePath);
FileInfo[] Files = d.GetFiles();
foreach (FileInfo file in Files)
{
try
{
DoSomething(file.Name);
}
catch (Exception ex)
{
continue;
}
}
我正在做的是,从目录中获取所有文件,运行 循环所有文件,获取文件名并做一些事情。现在我想要的是即使 DoSomething
方法引发异常,我也希望循环继续并且不要在两者之间中断。所以为此我在 catch 块中写了 continue
。
我正在 运行ning Sonarqube 检查代码质量。它显示消息 "Remove this redundant jump.
" 。我想知道如何去除这种代码味道并仍然实现我想要的。
作为循环中最后一个语句的continue
语句是多余的。你可以这样做:
DirectoryInfo d = new DirectoryInfo(somePath);
FileInfo[] Files = d.GetFiles();
foreach (FileInfo file in Files)
{
try
{
DoSomething(file.Name);
}
catch (Exception ex)
{
// do nothing
}
}
此代码与您的完全相同。
我有一个方法,其中有一个 for 循环。循环看起来类似于下面。
DirectoryInfo d = new DirectoryInfo(somePath);
FileInfo[] Files = d.GetFiles();
foreach (FileInfo file in Files)
{
try
{
DoSomething(file.Name);
}
catch (Exception ex)
{
continue;
}
}
我正在做的是,从目录中获取所有文件,运行 循环所有文件,获取文件名并做一些事情。现在我想要的是即使 DoSomething
方法引发异常,我也希望循环继续并且不要在两者之间中断。所以为此我在 catch 块中写了 continue
。
我正在 运行ning Sonarqube 检查代码质量。它显示消息 "Remove this redundant jump.
" 。我想知道如何去除这种代码味道并仍然实现我想要的。
作为循环中最后一个语句的continue
语句是多余的。你可以这样做:
DirectoryInfo d = new DirectoryInfo(somePath);
FileInfo[] Files = d.GetFiles();
foreach (FileInfo file in Files)
{
try
{
DoSomething(file.Name);
}
catch (Exception ex)
{
// do nothing
}
}
此代码与您的完全相同。