Exception externe EEFFACE
Remonter à Gestion des exceptions dans C++Builder
Exception externe EEFFACE est un message d'erreur qui apparaît lorsqu'une exception C++ n'est pas interceptée par les gestionnaires d'exception C++, et qu'elle est éventuellement gérée par les gestionnaires d'exception de Delphi.
Cette erreur peut se produire dans une application Fiches VCL ou une application FireMonkey lorsque des exceptions C++ ne sont pas interceptées explicitement et sont perdues dans la VCL ou le framework FireMonkey. Ces frameworks possèdent des gestionnaires d'exception Delphi qui, par défaut, gèrent l'exception C++ et génèrent une exception externe EEFFACE.
Exemple
L'exemple suivant est une application Fiches VCL qui définit une classe d'exception C++ - CppException. L'application déclenche une CppException mais n'intercepte pas l'exception. Comme l'exception C++ n'est pas interceptée par un gestionnaire d'exception C++, le message d'erreur Exception externe EEFFACE est généré.
// ---------------------------------------------------------------------------
class CppException : public std::exception {
virtual const char* what() const throw() {
return "C++ exception message";
}
};
// ---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner) : TForm(Owner) {
}
// ---------------------------------------------------------------------------
int myfunction(int i) {
if (i == 0) {
throw new CppException();
}
return i - 1;
}
// ---------------------------------------------------------------------------
void __fastcall TForm2::Button1Click(TObject *Sender) {
myfunction(0);
}
Pour davantage d'informations sur ce problème, voir : http://www.audacia-software.de/en/bcb/external-exception-eefface.htm .