Kann mir jemand erklären, was tut die folgende „Debugger Fehlerbenachrichtigung“ bedeuten in C++ Builder XE:anwendungsdefinierte Ausnahme
"Project ... faulted with message: 'application-defined exception (code 0x0eefface) at 0x755ad36f. Process Stopped. Use Step or Run to continue."
Es tritt nur auf, wenn ich eine Ausnahme werfen müssen - die Berufung des Wurfs wirft diesen Fehler auf. Ich kann keine Informationen zu diesem Problem finden.
Werfen der Ausnahme:
#define MY_ERROR_CODE 0xE0000046
throw TMyTrouble(MY_ERROR_CODE, "My error message"); // calling of this raises the application-defined exception...
Fang:
try{
Function(); // function that raises the exception TMyTrouble
}
catch(...){ // this catch should catch the exception but it doesn't
// do something
throw; // throw to upper layer
}
Definition von Ausnahme:
class TMyTrouble{
public:
TMyTrouble(int errorCode = 0xFFFFFFFF, AnsiString errorMessage = "Unknown error") { FMessage = errorMessage; FCode = errorCode;}
__property AnsiString Message = {read = FMessage};
__property unsigned long Code = {read = FCode};
private:
unsigned long FCode;
AnsiString FMessage;
};
Gibt es irgendwo einen "catch", der die ausgelöste Ausnahme behandelt? – hmjd
ja, aber es fängt nichts - das ist was ist seltsam – Martinique
Kannst du den 'throw' und den' catch' Code plus die Ausnahmedefinition posten? – hmjd