KB811324 - Блоки "if-else" непредвиденно выполняют

Полезные статьи и переводы интересных статей
GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

KB811324 - Блоки "if-else" непредвиденно выполняют

Сообщение GSerg » 11.01.2005 (Вт) 13:51

Блоки if и else непредвиденно выполняются в Visual Studio .NET 2002
Перевод: GSerg.

СИМПТОМЫ
Код, заключённый в блоки как if, так и else, непредвиденно выполняется при создании консольного приложения Microsoft Visual C# .NET в Microsoft Visual Studio .NET.

ПРИЧИНА
Это поведение возникает в том случае, когда конструкция if-else помещена внутри блока try-catch, а блок finally пуст.

УСТРАНЕНИЕ
Для устранения этой проблемы добавьте любую фиктивную команду в блок finally.

СОСТОЯНИЕ
Майкрософт подтвердила, что это ошибка, которой подвержены продукты, перечисленные в разделе "Применимо к". Эта проблема устранена в Microsoft Visual Studio .NET 2003.

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ
Шаги для воспроизведения ошибки:
  1. Создайте Visual C# .NET Console Application project в Visual Studio .NET 2002.
  2. Замените код в Class1 следующим кодом:
    Код: Выделить всё
    class Test {
      public static void Main() {
        object o = "test";
        if (o is string) {
          try {
            Console.WriteLine("Test");
          }
          finally {
            //Console.WriteLine("Finally.");
          }
        }
        else {
          Console.WriteLine("Shouldn't get here.");
        }
        Console.ReadLine();
      }
    }


ПРИМЕНИМО К:
  • Microsoft Visual Studio .NET 2002 Enterprise Architect
  • Microsoft Visual Studio .NET 2002 Academic Edition
  • Microsoft Visual Studio .NET 2002 Enterprise Developer
  • Microsoft Visual Studio .NET 2002 Professional Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 11.01.2005 (Вт) 14:01

Ничё не понимаю...

Словами написано, что "когда конструкция if-else помещена внутри блока try-catch". А в коде наоборот. Так как правильно? :roll:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 11.01.2005 (Вт) 16:46

Не знаю... Если бы у меня стоял C#, я бы просто прогнал их тестовый пример, и таким бы образом выяснил, что верно - код или текст.
А так могу только гадать...
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 11.01.2005 (Вт) 16:55

Я послал в мелкософт телегу :razz:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 25.01.2005 (Вт) 18:24

А они на неё не реагируют... Ну и фиг с ними :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 03.02.2005 (Чт) 19:05

Microsoft на такие телеги не реагирует :). Надо писать не в саппорт, а на bug-track сайт. Только по KB его нет.
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.02.2005 (Пт) 4:28

Дык там внизу статьи есть форма - чё вы думаете о статье. Там есть вариант - "Information is wrong" и поле для ввода пояснений :)
Я пояснения ввёл, а это пустышка, оказывается :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в VBStreets Knowledge Base

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

    TopList