Poprawka: Zastępowania strukturalnej obsługi wyjątków są objęte Obsługa wyjątków nie tak po włączeniu obsługi wyjątków asynchronicznego WEC 2013

W tym artykule opisano problem w którym zastępowania strukturalnej obsługi wyjątków są objęte nieodpowiednim program obsługi w systemu Windows Embedded Compact 2013. Aktualizacja jest dostępna do rozwiązania tego problemu. Przed zainstalowaniem tej aktualizacji należy wszystkie uprzednio wydane aktualizacje dla tego produktu musi być zainstalowany.

Objawy

Rozważ następujący scenariusz:

  • Dodatek dla programu Visual Studio 2013 konstruktora aplikacji umożliwia tworzenie aplikacji C++, który jest przeznaczony dla systemu Windows Embedded Compact 2013.

  • Włącz asynchroniczne wyjątki przy użyciu przełącznika "/eha/eha" kompilatora. Ten przełącznik umożliwia zarówno synchroniczne strukturalnych i obsługi wyjątków C++ obsługi metod, aby być mieszane w tym samym kodem wyjątków asynchronicznego (strukturalnej).

  • Uruchom pokrewne kod, aby przechwytywać zastępowania strukturalnej obsługi wyjątków.

W tym scenariuszu zastępowania strukturalnej obsługi wyjątków są zawsze złowionych w pierwszy obsługi wyjątków, nawet jeśli jest filtrowana dla wyjątku synchroniczne C++.

Oczekiwane zachowanie jest wyjątki strukturalnej obsługi wyjątków są objęci wielokropka obsługi wyjątków.

Na przykład można uruchomić następujący kod:class CMyEx{
public:
CMyEx(int nParam) : m_nParam(nParam) { }
int m_nParam;
};

void TestExceptions()
{
try
{
int a = 42;
int b = 0;
// throw CMyEx(1);
// throw 97;
int c = a / b;
}
catch (const CMyEx &e)
{
wprintf(L"CMyEx exception caught (param=%d)!\n", e.m_nParam);
}
catch (...)
{
wprintf(L"Exception of unspecified type caught by ellipsis clause!\n");
}
}
W tym przykładzie należy zawsze trafić pierwszej klauzuli catch, po wystąpieniu wyjątku strukturalnej obsługi wyjątków (dzielenie liczby całkowitej przez zero) zamiast obsługi wielokropka zgodnie z oczekiwaniami.

Rozwiązanie

Informacje dotyczące aktualizacji oprogramowania

Systemu Windows Embedded Compact 2013 comiesięczna aktualizacja (września 2015) jest teraz udostępniana przez firmę Microsoft. Aby pobrać ten comiesięczna aktualizacja systemu Windows Embedded Compact 2013, przejdź do lub .

Wymagania wstępne

Ta aktualizacja jest obsługiwana tylko wtedy, gdy wszystkie uprzednio wydane aktualizacje dla tego produktu zostały również zainstalowane.

Wymagania dotyczące ponownego uruchomienia

Po zastosowaniu tej aktualizacji należy wykonać czystą kompilację całej platformy. Aby to zrobić, użyj jednej z następujących metod:

  • W menu TworzenieCzystegoroztworu, a następnie wybierz Budowania rozwiązania.

  • W menu Tworzenie wybierz Odbudować rozwiązanie.

Nie musisz ponownie uruchomić komputer po zastosowaniu tej aktualizacji oprogramowania.

Informacje dotyczące zastępowania aktualizacji

Ta aktualizacja nie zastępuje żadnych innych aktualizacji.

Wersja anglojęzyczna tego pakietu aktualizacji oprogramowania ma atrybuty plików (lub nowsze) wymienione w poniższej tabeli. Daty i godziny odpowiadające tym plikom zostały podane w formacie uniwersalnego czasu koordynowanego (UTC, Coordinated Universal Time). Po wyświetleniu informacji o pliku są konwertowane na czas lokalny. Aby zobaczyć różnicę między czasem UTC i czasem lokalnym, należy użyć z karty Strefa czasowa w aplecie Data i godzina w Panelu sterowania.

Pliki, które są uwzględnione w tym pakiecie aktualizacji

Powiązane artykuły

Więcej informacji na temat stosowanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×