Я использую сонарлинт с C#. Нечто странное происходит, когда я пишу два try..catch
блока, которые catch
блоков делают одно и то же, например:
try
{
// Sth
}
catch (Exception ex)
{
// Log sth else
logger.LogError(ex.ToString());
}
try
{
// Sth else
}
catch (Exception ex)
{
// Log sth else
logger.LogError(ex.ToString());
}
Это предлагает мне объединить эти два блока в один, возможно, вот так
try
{
// Sth
// Sth else
}
catch (Exception ex)
{
// Log sth else
logger.LogError(ex.ToString());
}
но очевидно, что это не будет делать то же самое, потому что часть // Sth else
не будет выполнена, если исключение произойдет в // Sth
части.
Что здесь происходит? Я делаю ошибку или это на sonarlint?