Delen via


Compilerfout C2715

'type': dit type kan niet worden gegooid of gevangen

Opmerkingen

Waardetypen zijn geen geldige argumenten bij het gebruik van uitzonderingsafhandeling in beheerde code (zie Uitzonderingsafhandeling voor meer informatie).

Voorbeeld

In het volgende voorbeeld wordt C2715 gegenereerd en ziet u hoe u dit kunt oplossen:

// C2715a.cpp
// compile with: /clr
using namespace System;

value struct V {
   int i;
};

void f1() {
   V v;
   v.i = 10;
   throw v;   // C2715
   // try the following line instead
   // throw ((V^)v);
}

int main() {
   try {
      f1();
   }

   catch(V v) { if ( v.i == 10 ) {   // C2715
   // try the following line instead
   // catch(V^ pv) { if ( pv->i == 10 ) {
         Console::WriteLine("caught 10 - looks OK");
      }
      else {
         Console::WriteLine("catch looks bad");
      }
   }
   catch(...) {
      Console::WriteLine("catch looks REALLY bad");
   }
}