|
EDatabaseError 클래스를 상속받아 새로운 Exception을 만들어주고 싶습니다...
그래서 다음과 같이 하려고 하는데 가능한일인가요????
void __fastcall TForm1::ComboBox1Change(TObject *Sender)
{
try{
어쩌구저쩌구;
} catch( EDatabaseError &E)
{
throw Exception(AnsiString(E.ClassName())+E.Message);
}
}
DB Exception을 잡아서
새로운 Exception을 만든다음에
그 결과를 맨 처음 Exception난 부분으로 던져주고 있습니다.
즉,chaining하고 있습니다...
첫째는 여기서 메서드 이름을 던질수 있는가 하는가 하구요( 현재는 class 이름만 던지고 있습니다.)
즉, ComboBox1Change을 보낼수 있는가하는 것입니다..
두번째는..EDatabaseError 클래스를 상속받아서 새로운 userDefinedException을 만들고 싶습니다...
즉,,
void __fastcall TForm1::ComboBox1Change(TObject *Sender)
{
try{
어쩌구저쩌구;
} catch( UserDefinedException &E) <==== 이렇게 바꾸고 싶어요
{
throw Exception(AnsiString(E.ClassName())+E.Message);
}
}
이렇게 Exception을 상속받아 새로운 Exception을 만들고싶어서 다음과같이 클래스를 만들었습니다.
=====================header==========================
class TUserDefinedException : public EDatabaseError
{
private:
public:
__fastcall TUserDefinedException ();
};
=====================cpp==========================
//constructor....
__fastcall TUserDefinedException ::TUserDefinedException ()
: EDatabaseError()
{
}
===================================================
이렇게 했는데....
음.......에러가 나네요...ㅡㅡ;;
혹시 Exception 클래스 상속받아서 사용해보신분이나....
새로운 Exception클래스를 만들어보신분 있으시면 조그마한 도움이라도 주시면 감사하겠습니다.
|