O ctor de EventPipeController acessa AppContext.BaseDirectory e passa o resultado para Path.Combine, que lançará um ArgumentNullException se BaseDirectory retornar nulo. BaseDirectory retorna o resultado de GetBaseDirectoryCore, que chama Assembly.GetEntryAssembly () ?. Location. GetEntryAssembly pode retornar nulo, caso em que GetBaseDirectoryCore retornará nulo, caso em que Path.Combine irá lançar e o ctor EventPipeController irá lançar. Isso será comido no método Initialize por um bloco pega-tudo, mas parece que seria melhor não jogar em primeiro lugar.
A invocação de configuração baseada em arquivo de EventPipe deve falhar silenciosamente se algo der errado - como você mencionou, essa lógica é envolvida em um bloco try / catch / finally. Como a invocação de configuração baseada em arquivo do Eventpipe será totalmente removida em uma mudança futura, vou deixar isso como está por enquanto.
Comentários muito úteis
A invocação de configuração baseada em arquivo de EventPipe deve falhar silenciosamente se algo der errado - como você mencionou, essa lógica é envolvida em um bloco try / catch / finally. Como a invocação de configuração baseada em arquivo do Eventpipe será totalmente removida em uma mudança futura, vou deixar isso como está por enquanto.