NUSTATYTI: SEH išimtys patenka į klaidingą išimčių apdorojimo programa Įgalinus asinchroninio išimčių apdorojimo WEC 2013

Šiame straipsnyje aprašoma problema, kuri SEH išimtys patenka į klaidingą apdorojimo Windows Embedded Compact 2013. Norėdami išspręsti šią problemą galimas naujinys. Prieš diegdami šį naujinimą, turi būti įdiegta visi anksčiau išleisti naujinimai, skirti šį produktą.

Požymiai

Įsivaizduokite tokią situaciją:
  • Galite naudoti priedo Visual Studio 2013 programų kūrėjo sukurti C++ programa, kuri taikoma Windows Embedded Compact 2013.
  • Galite įgalinti asinchroninio išimčių tvarkymas naudojant "/EHa" kompiliatorius jungiklį. Šis jungiklis leidžia tiek C++ Sinchroninis ir struktūrinių išimtis tvarkymo (SEH) asinchroninio išimčių apdorojimo būdai būti mišrusis pagal tą patį kodą.
  • Paleidus patrauks SEH išimtys susijusios kodą.
Tokiu atveju SEH išimtys visada patenka į pirmą išimčių apdorojimo programos net jei filtruojamas C++ Sinchroninis išimtis.

Numatyta, SEH išimtys yra įstringa iš elipsė išimčių apdorojimo programa.

Pvz., galite paleisti kodo pavyzdys:
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");
}
}
Į šį pavyzdį, visada paspausite universali numatyta, kai SEH (sveikojo skaičiaus padalyti iš nulio) išimtis vietoj elipsė apdorojimo programa kaip tikėtasi.

Sprendimas

Įsivaizduokite tokią situaciją:

Windows Embedded Compact 2013 mėnesio naujinimo (2015 m. rugsėjo) dabar galite atsisiųsti iš "Microsoft". Norėdami atsisiųsti šį Windows Embedded Compact 2013 mėnesio naujinimą, eikite į Microsoft OEM Online arba MyOEM.

Būtinosios sąlygos

Šis naujinimas palaikomas tik tada, jei taip pat buvo įdiegti visi anksčiau išleisti naujinimai, skirti šį produktą.

Reikalavimas paleisti iš naujo

Po to, kai įdiegsite šį naujinimą, turite atlikti švarų sukurti viso platformos. Norėdami tai padaryti, naudokite vieną iš toliau nurodytų būdų:
  • Sukurti meniu pasirinkite Švarią sprendimų, ir pasirinkite Sukurti sprendimą.
  • Sukurti meniu pasirinkite Atkurti sprendimų.
Jums nereikia iš naujo paleisti kompiuterį pritaikę šį programinės įrangos naujinimą.

Naujinimo pakeitimo informacija

Šis naujinimas nepakeičia jokių kitų naujinimų.
Failo informacija

Nuorodos

Sužinokite daugiau apie terminologiją , kurią "Microsoft" naudoja programinės įrangos naujinimams apibūdinti.
Savybės

Straipsnio ID: 3008664 – Paskutinė peržiūra: 2017-02-08 – Peržiūra: 1

Windows Embedded Compact 2013

Atsiliepimai