Skip to content

Commit af9c5c6

Browse files
Exception handling in DotNetCliGenerator.GetRootDirectory, fix #2436
1 parent d17c6ad commit af9c5c6

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

src/BenchmarkDotNet/Toolchains/DotNetCli/DotNetCliGenerator.cs

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -61,17 +61,25 @@ internal static bool GetProjectRootDirectory(out DirectoryInfo directoryInfo)
6161
return GetRootDirectory(IsRootProjectFolder, out directoryInfo);
6262
}
6363

64-
internal static bool GetRootDirectory(Func<DirectoryInfo, bool> condition, out DirectoryInfo directoryInfo)
64+
internal static bool GetRootDirectory(Func<DirectoryInfo, bool> condition, out DirectoryInfo? directoryInfo)
6565
{
66-
directoryInfo = new DirectoryInfo(Directory.GetCurrentDirectory());
67-
while (directoryInfo != null)
66+
directoryInfo = null;
67+
try
6868
{
69-
if (condition(directoryInfo))
69+
directoryInfo = new DirectoryInfo(Directory.GetCurrentDirectory());
70+
while (directoryInfo != null)
7071
{
71-
return true;
72-
}
72+
if (condition(directoryInfo))
73+
{
74+
return true;
75+
}
7376

74-
directoryInfo = directoryInfo.Parent;
77+
directoryInfo = directoryInfo.Parent;
78+
}
79+
}
80+
catch
81+
{
82+
return false;
7583
}
7684

7785
return false;

0 commit comments

Comments
 (0)