Проблема Visual Studio 2010 вокруг global :: System.Exception - PullRequest
1 голос
/ 02 февраля 2012

Как-то сегодня, когда я ввожу:

try {} catch {}

Я получаю это:

try 
{       
}
catch (global::System.Exception ex)
{
}

Но это должно быть просто:

try 
{       
}
catch (Exception ex)
{
}

Что происходит? Как я могу вернуться к Exception?

1 Ответ

2 голосов
/ 02 февраля 2012

Следующая программа приводит к global::System.Exception, если поместить курсор между фигурными скобками для метода Main и ввести try и дважды нажать [TAB], т. Е. Вызвать фрагмент кода для попытки / перехвата.

Следовательно - у вас есть класс с именем Exception, определенный где-то в вашем проекте / ссылочных сборках, или вы определяете пространство имен верхнего уровня System?Это может быть вызвано одним из них или их комбинацией.Также обратите внимание, что пример кода не содержит операторов using, так что это может быть фактором.

namespace ExceptioWuh
{
    class Program
    {
        static void Main(string[] args)
        {

        }
    }

    namespace System
    {
        class Exception : global::System.Exception
        {
        }
    }
}

Отсутствие пользовательского типа с именем Exception приводит к тому, что catch будет catch (System.Exception), поэтомуЯ думаю, что это довольно специфический сценарий, который вызывает это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...