exceptiony
Pavel Kankovsky
peak na kerberos.troja.mff.cuni.cz
Pondělí Červen 1 15:48:00 CEST 1998
On Sun, 31 May 1998, Tomas Vasko wrote:
> class Exception { protected: Exception(){}; };
> class ExcError : public Exception{};
>
> int main()
> {
> try{
> throw new ExcError();
> cout << "a" <<endl;
> }
> catch( Exception* )
> {
> cout << "Exception*" <<endl;
> }
> catch( ExcError* )
> {
> cout << "ExcError*" <<endl;
> }
> return 0;
> }
> --------
>
> by mal podla mna vypisat Exception a skoncit.
> vypisuje vsak ExcError!
nebyl bych si tak uplne jisty tim, ze je to spatne: nechce se mi ted
studovat navrh normy, ale neni uplne nesmyslne, ze dava prednost shode
typu pred poradim catch-u v kodu
> kompiloval som c++ -fhandle-exceptions -ansi -Wall % (aj bez -ansi)
> using c++ -v --> 2.7.2.3
ony jsou stejne vyjimky v 2.7 dost divne, 2.8/egcs je na tom mozna lepe
> watcom takuto konstrukciu vobec nezhltne - vyhlasi error na riadku
> catch( ExcError*) s tym ze to nema zmysel, co je dost normalne a borland
> na to aspon upozorni...
rad bych videl kompilator, co vyjimky umi (treba watcom ma nejaky pekny
memory leak, co v nejakych zahadnych situacich zpusobuje, ze to cele
zhebne)
> btw another exc. problem:
>
> uz davnejsie som mal problemik s niecim takymto:
[...]
> void SigFPE( int )
> {
> signal(SIGFPE, SigFPE);
> throw TDivision_by_zero();
> }
to je IMHO docela odvazne
--Pavel Kankovsky aka Peak [ Boycott Microsoft--http://www.vcnet.com/bms ]
Další informace o konferenci Linux