Компилятор C# должен выдать предупреждение, но не делает этого?C#

Место общения программистов C#
Anonymous
Компилятор C# должен выдать предупреждение, но не делает этого?

Сообщение Anonymous »

Кто-то из моей команды пытался исправить предупреждение «переменная не используется» в пустом предложении catch.

try { ... } catch (Exception ex) { }


-> выдает предупреждение о том, что ex не используется. Пока все хорошо.

Исправление было примерно таким:

try { ... } catch (Exception ex) { string s = ex.Message; }


Увидев это, я подумал: «Просто отлично, теперь компилятор будет жаловаться на »s не используется."

Но это не так! В этом фрагменте кода нет предупреждений, и я не могу понять почему. Есть идеи?

PS. Я знаю, что всеобщие положения, которые отключают исключения, — это плохо, но я также знаю, что первоначальное предупреждение лучше. удалить, выполнив что-то вроде этого, это тоже не суть.

try { ... } catch (Exception) { }


или

try { ... } catch { }


Подробнее здесь: https://stackoverflow.com/questions/274 ... but-doesnt

Вернуться в «C#»