Компилятор 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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