Condividi tramite


Avviso del compilatore (livello 4) C4673

la creazione di 'identificatore' i tipi seguenti non verranno considerati nel sito catch

Un oggetto throw non può essere gestito nel catch blocco. Ogni tipo che non può essere gestito viene elencato nell'output degli errori immediatamente dopo la riga contenente questo avviso. Ogni tipo non gestito ha un proprio avviso. Per altre informazioni, leggere l'avviso per ogni tipo specifico.

L'esempio seguente genera l'errore C4673:

// C4673.cpp
// compile with: /EHsc /W4
class Base {
private:
   char * m_chr;
public:
   Base() {
      m_chr = 0;
   }

   ~Base() {
      if(m_chr)
         delete m_chr;
   }
};

class Derv : private Base {
public:
   Derv() {}
   ~Derv() {}
};

int main() {
   try {
      Derv D1;
      // delete previous line, uncomment the next line to resolve
      // Base D1;
      throw D1;   // C4673
   }

   catch(...) {}
}